// ==UserScript== // @name Export HJ Words // @namespace http://blog.nocode.site/ // @version 0.5 // @description 从沪江生词本导出单词 // @author Ecat // @match http*://www.hjdict.com/scb // @match http*://dict.hjenglish.com/scb // @connect www.hjdict.com // @grant GM_log // @downloadURL https://update.greasyfork.icu/scripts/44563/Export%20HJ%20Words.user.js // @updateURL https://update.greasyfork.icu/scripts/44563/Export%20HJ%20Words.meta.js // ==/UserScript== (function() { 'use strict'; // 获取log函数 let log; if (typeof GM_log == "function"){ log = GM_log; }else{ log = console.log; } // 获取xmlHttp对象 let xmlHttp = null; if (window.XMLHttpRequest) {// code for IE7, Firefox, Opera, etc. xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) {// code for IE6, IE5 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } // 导出回调函数 let export_fn = function(){ // 获取单词列表 let words = document.querySelectorAll(".wordlist td a"); if (words.length == 0){ alert("没有需要导出的单词哟"); return; } // 开始导出处理 this.setAttribute("disabled","disabled"); this.innerText="导出中"; words=Array.prototype.map.call(words,(w)=>{ xmlHttp.open("GET",w.href,false); xmlHttp.send(null); let res = xmlHttp.responseText.replace(/\n/g,""); // 抽出单词 let wordinfo = res.match(/class=\"word-info\".*?