您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
This script export ipv4info tables to CSV
// ==UserScript== // @namespace https://greasyfork.org/es/users/161767 // @name ipv4info.user.js // @description This script export ipv4info tables to CSV // @license MIT; https://opensource.org/licenses/MIT // @version 1.0.3 // @match *://ipv4info.com/* // @match *://*.ipv4info.com/* // @exclude http://ipv4info.com/tools/* // @exclude http://ipv4info.com/store/* // @exclude http://ipv4info.com/stat/* // @grant none // @license MIT // ==/UserScript== // Modified from https://codepen.io/kostas-krevatas/pen/mJyBwp window.xport = { _fallbacktoCSV: true, toXLS: function(tableId, filename, n) { var n = (typeof n === 'undefined') ? 0 : n; this._filename = (typeof filename == 'undefined') ? tableId : filename; //var ieVersion = this._getMsieVersion(); //Fallback to CSV for IE & Edge if ((this._getMsieVersion() || this._isFirefox()) && this._fallbacktoCSV) { return this.toCSV(tableId); } else if (this._getMsieVersion() || this._isFirefox()) { alert("Not supported browser"); } //Other Browser can download xls var table = document.getElementById(tableId); table = (table == null) ? document.getElementsByClassName(tableId)[n] : table; if(typeof table == "undefined"){ return false; } var html = table.outerHTML; this._downloadAnchor("data:application/vnd.ms-excel" + encodeURIComponent(html), 'xls'); }, toCSV: function(tableId, filename, n) { var n = (typeof n === 'undefined') ? 0 : n; this._filename = (typeof filename === 'undefined') ? tableId : filename; var table = document.getElementById(tableId); table = (table == null) ? document.getElementsByClassName(tableId)[n] : table; console.log(table, typeof table); if(typeof table == "undefined"){ return false; } // Generate our CSV string from out HTML Table var csv = this._tableToCSV(table); // Create a CSV Blob var blob = new Blob([csv], { type: "text/csv" }); // Determine which approach to take for the download if (navigator.msSaveOrOpenBlob) { // Works for Internet Explorer and Microsoft Edge navigator.msSaveOrOpenBlob(blob, this._filename + ".csv"); } else { this._downloadAnchor(URL.createObjectURL(blob), 'csv'); } }, _getMsieVersion: function() { var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); if (msie > 0) { // IE 10 or older => return version number return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)), 10); } var trident = ua.indexOf("Trident/"); if (trident > 0) { // IE 11 => return version number var rv = ua.indexOf("rv:"); return parseInt(ua.substring(rv + 3, ua.indexOf(".", rv)), 10); } var edge = ua.indexOf("Edge/"); if (edge > 0) { // Edge (IE 12+) => return version number return parseInt(ua.substring(edge + 5, ua.indexOf(".", edge)), 10); } // other browser return false; }, _isFirefox: function(){ if (navigator.userAgent.indexOf("Firefox") > 0) { return 1; } return 0; }, _downloadAnchor: function(content, ext) { var anchor = document.createElement("a"); anchor.style = "display:none !important"; anchor.id = "downloadanchor"; document.body.appendChild(anchor); // If the [download] attribute is supported, try to use it if ("download" in anchor) { anchor.download = this._filename + "." + ext; } anchor.href = content; anchor.click(); anchor.remove(); }, create_link_btn: function(obj_id, n){ var n = (typeof n === 'undefined') ? 0 : n; var table = document.getElementById(obj_id); table = (table == null) ? document.getElementsByClassName(obj_id)[n] : table; console.log(table, typeof table); if(typeof table == "undefined"){ return false; } var parent_div = table.parentNode; var link = document.createElement("a"); link.id = "download_btn"; link.href = "#download"; link.onclick = function(e){ e.preventDefault(); console.log(e, obj_id); var file_name = window.location.pathname.split("/").pop().replace(".html", "") window.xport.toCSV(obj_id,file_name,n); }; link.innerText = "Export to CSV"; link.style = "position:absolute;z-index:1000;border:1px solid #f0f0f0;padding:10px;color:#fff;background-color:#333;"; parent_div.insertBefore(link, table); }, _tableToCSV: function(table) { var slice = Array.prototype.slice; return slice.call(table.rows).map(function(row){ return slice.call(row.cells).map(function(cell){ return cell.innerText.trim(); }).join(","); }).join("\r\n"); } }; document.onreadystatechange = function () { if (document.readyState == "complete") { if(!xport.create_link_btn('main_table')){ if(!xport.create_link_btn('TB2')){ xport.create_link_btn('TB2_90pr', 3); // Select third class element } } } }