// ==UserScript== // @name 金山词霸生词本采集器 // @namespace http://scb.iciba.com/ // @version 0.2 // @description 采集金山词霸生词本(scb.iciba.com)上的单词列表 // @author Bob Green // @match *://*.iciba.com/* // @grant none // @downloadURL https://update.greasyfork.icu/scripts/378176/%E9%87%91%E5%B1%B1%E8%AF%8D%E9%9C%B8%E7%94%9F%E8%AF%8D%E6%9C%AC%E9%87%87%E9%9B%86%E5%99%A8.user.js // @updateURL https://update.greasyfork.icu/scripts/378176/%E9%87%91%E5%B1%B1%E8%AF%8D%E9%9C%B8%E7%94%9F%E8%AF%8D%E6%9C%AC%E9%87%87%E9%9B%86%E5%99%A8.meta.js // ==/UserScript== (function() { 'use strict'; var btnStyles = 'position: fixed; z-index: 1000; bottom: 0; right: 0; '; var STORE_KEY = 'wordListCache'; function set (content) { return window.localStorage.setItem(STORE_KEY, content); } function get () { return window.localStorage.getItem(STORE_KEY); } function render () { var wrapElem = document.createElement('div'); wrapElem.style = btnStyles; wrapElem.innerHTML = `
`; document.body.appendChild(wrapElem); wrapElem.querySelector('#icibascb_collect').addEventListener('click', collect); wrapElem.querySelector('#icibascb_show').addEventListener('click', showList); wrapElem.querySelector('#icibascb_clear').addEventListener('click', clear); } function collect () { var els = document.querySelectorAll('.word'); var wordList = Array.from(els).map(el => el.innerText); var stashCache = get() || ''; set((stashCache ? (stashCache + '|') : '') + wordList.join('|')); window.alert('已收集' + wordList.length + '个单词'); } function clear () { set(''); } function showList () { var elem = document.createElement('ul'); var cache = get() || ''; var wordList = cache.split('|'); elem.innerHTML = ''; for (var item of wordList) { var newLine = document.createElement('li'); newLine.innerText = item; elem.appendChild(newLine); } var win = window.open('', 'Word List', 'menubar=no,toolbar=no,location=no,status=no'); win.document.body.appendChild(elem); } render(); })();