我正在写一个Greasemonkey脚本,我想在我启用脚本的每个网站的顶部添加一个工具栏,但我不确定如何做到这一点(使用JS)。我希望工具栏提供下拉列表,对于下拉列表的每个选项,它对启用的网站执行不同的操作。任何其他方法做到这一点是值得赞赏的。 谢谢!
假设我将此作为我的.js文件:
var searchRE = new RegExp("red","gi");
var replace = 'blue';
for (var i=0;i<textNodes.snapshotLength;i++) {
var node = textNodes.snapshotItem(i);
node.data = node.data(searchRE, replace);
}
我应该把document.createElement ...放在这里吗?谢谢!
答案 0 :(得分:0)
我没有看到RegExp
的需要,你真的不需要更多(如果我理解正确的话):
// ==UserScript==
// @name Test
// @version 0.1
// @description Some useful description
// @match https://www.your.site/*
// @resource html file:///C:/Users/User/Desktop/Test.html
// ==/UserScript==
var myDiv = document.createElement("div");
var myHTML = GM_getResourceText("html");
myDiv.innerHTML = myHTML;
document.body.appendChild(myDiv);
文件@resource
引用的是您的html文件,您已将其作为工具栏。您还可以@require
自己的CSS文件,这样您的HTML就不需要在每个标记中包含样式规则。
这样做是读取您的本地文件,然后将其放入正文中的新div中 你也可以在javascript中创建整个html,但这是一个漫长而烦人的过程,错误风险更高。
注意强>
有些网站(比如Google)由于某种原因不喜欢这种方法,而是将其抛入隐藏的iframe
,这使得它看起来更难看起来有点困难。我在几个站点上测试了这个,在基本站点上,这个方法应该可以工作!