迷上了写油猴脚本
先科普一下
篡改猴(Tampermonkey)是一款用户脚本管理器,它能让你通过安装他人或自己编写的 JS 脚本来修改网页功能、优化网页界面或实现自动化操作。
它支持各大主流浏览器,具备脚本更新、云端同步和内置编辑器等功能。
用户可通过 Greasy Fork 等平台获取海量脚本,去除广告、跳过视频片头,破解网页限制、辅助下载文件,篡改猴能帮你把浏览器定制成最顺手的样子。
想怎
热衷于“热衷于”一切,怎能错过这等工具,多说无益,就……
为维护国家安全和公共利益,保护国民经济命脉及重要企业合法权益,我国依法对部分有害互联网站点进行屏蔽❤
当然,是绝对不可以的!
毛主席曾经说:自己动手,丰衣足食!
终身学习,构建独特方案,懂得融会变通,拥有判断力和洞察力,以及丰富的经验是AI时代得以立足的制胜法宝!
总的说来,油猴脚本就是外联js文件,只不过通常会在开头加一些注释规定程序信息,例如:
// ==UserScript==
// @name New Userscript
// @namespace https://viayoo.com/nf2t7f
// @version 0.1
// @description try to take over the world!
// @author You
// @run-at document-end
// @match https://*/*
// @grant none
// ==/UserScript==展示成果
// ==UserScript==
// @name 词渡
// @namespace https://zooyoo.top/
// @version 1.0
// @description 页面自动翻译为中文
// @grant none
// ==/UserScript==
(function() {
if (window._translated) return;
window._translated = true;
function getLang() {
var lang = (document.documentElement && document.documentElement.getAttribute('lang')) ||
(document.head && document.head.getAttribute('lang')) || '';
return lang.toLowerCase();
}
function isForeign(lang) {
return lang && !lang.startsWith('zh');
}
function translate() {
if (!isForeign(getLang())) return;
var nodes = [];
var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, {
acceptNode: function(node) {
var parent = node.parentElement;
if (!parent || parent.tagName === 'SCRIPT' || parent.tagName === 'STYLE')
return NodeFilter.FILTER_REJECT;
return node.nodeValue.trim() ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
}
});
while (walker.nextNode()) nodes.push(walker.currentNode);
if (!nodes.length) return;
var texts = nodes.map(function(n) { return n.nodeValue; });
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://edge.microsoft.com/translate/translatetext?from=' + (getLang().split('-')[0] || 'en') + '&to=zh-CHS', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
try {
var data = JSON.parse(xhr.responseText);
var results = [];
if (Array.isArray(data)) {
for (var i = 0; i < data.length; i++) {
results.push(data[i] && data[i].translations ? data[i].translations[0].text : data[i]);
}
}
for (var i = 0; i < nodes.length && i < results.length; i++) {
if (results[i]) nodes[i].nodeValue = results[i];
}
} catch(e) {}
}
};
xhr.send(JSON.stringify(texts));
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', translate);
} else {
translate();
}
})();本段代码著作权完全归豆包AI模型自身所有,本人未提供任何形式的引导,对其调用何种接口和是否取得法律许可全然不知,本人仅履行侵权信息移除义务!
这个是我做的,自用有一段时间了,应该没什么大问题……
如何运行
用via浏览器打开以下两个链接,在弹出提示中安装即可!(未弹出请移步设置/脚本/添加脚本粘贴即可)自动翻译-戳这里!
