I am trying to run an userscript in certain website.
(我正在尝试在某些网站上运行用户脚本。)
The objective is copy the information about each word searched in a on-line dictionary.(目的是复制有关在线词典中搜索到的每个单词的信息。)
My browser is Chrome and I use the Tampermonkey extension.(我的浏览器是Chrome,我使用的是Tampermonkey扩展程序。)
My code is not working, and I don't know what is the reason, since there is no errors appearing on console.(我的代码无法正常工作,我也不知道是什么原因,因为控制台上没有出现错误。)
But If I stop the code execution by inserting debugger
in my code and then just click on "Resume code execution", on Chrome Developer Tools, the code works, even though I don't do any change.(但是,如果我通过在代码中插入debugger
来停止代码执行,然后单击Chrome开发人员工具上的“恢复代码执行”,即使我不做任何更改,代码也可以正常工作。)
Why is that happening?(为什么会这样呢?)
How can I fix that?(我该如何解决?)
This is my code, along with the Tampermonkey standard userscript code:(这是我的代码,以及Tampermonkey标准用户脚本代码:)
(function() {(function(context, fapply, console) {with (context) {(function(module) {"use strict";try {
fapply(module, context, [,,context.CDATA,context.uneval,context.define,context.module,context.exports,context.GM,context.GM_info]);} catch (e) {if (e.message && e.stack) {console.error("ERROR: Execution of script 'StudyFacilitator' failed! " + e.message);console.log(e.stack.replace(/(\(eval at )?<anonymous>[: ]?)|([s.]*at Object.tms_[sS.]*)/g, ""));} else {console.error(e);}}
})(function (context,fapply,CDATA,uneval,define,module,exports,GM,GM_info) {
// ==UserScript==
// @name StudyFacilitator
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Copy automatically the info about each word searched.
// @author Bruno M. B. Sdoukos
// @match https://www.wordreference.com/enpt/*
// @grant none
// ==/UserScript==
(function(){
'use strict'
// My code starts here
let wordData = {word: '', meaning: '', translation: ''};
wordData.word += document.querySelector('#articleHead > .headerWord').innerText + ' ' + document.querySelector('#pronWR').innerText;
const tooltips = document.querySelectorAll('.tooltip');
for (let i = 0; i < tooltips.length; i++) {
tooltips[i].style.display = 'none';
}
let wordUnits = document.querySelectorAll('tr[id^="enpt:"]');
let loopsNumber = wordUnits.length < 3 ? wordUnits.length : 3
for (let i = 0; i < loopsNumber; i++) {
wordData.meaning += wordUnits[i].querySelector('td:nth-child(2)').innerText + '; ';
let firstTranslation = wordUnits[i].querySelector('.ToWrd');
wordData.translation += firstTranslation.innerText + '; '
let secondTranslation = wordUnits[i].nextElementSibling.querySelector('.ToWrd');
if (secondTranslation !== null) {
wordData.translation += secondTranslation.innerText + '; '
}
}
wordData = wordData.word + ' | ' + wordData.meaning + ' | ' + wordData.translation;
for (let i = 0; i < tooltips.length; i++) {
tooltips[i].style.display = 'initial';
}
let textBox = document.createElement('textarea');
document.querySelector('body').appendChild(textBox);
let text = document.createTextNode(wordData);
textBox.appendChild(text);
textBox.select();
document.execCommand('copy');
document.querySelector('body').removeChild(textBox);
// My code ends here
})()
})}})(this.context, this.fapply, this.console);
//# sourceURL=chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/userscript.html?id=4cf965a9-a02e-49c2-b22d-fecc7d272440
}).apply(window["__u__3218613.1053551002_"])
ask by Bruno Sdoukos translate from so
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…