我一直在试图弄清楚如何让Greasemonkey用户脚本在后台打开搜索引擎页面并获取搜索结果。我试图查找示例来打开HTML页面,但afaik请求的所有示例处理ajax调用而不是html调用。
任何提示都会很感激。
答案 0 :(得分:1)
标准的Greasmonkey GM_xmlhttpRequest
函数(link to API)可以处理任何类型的请求,而不仅仅是JSON。在示例下,请查看GET request
代码段。
注意。像谷歌这样的搜索引擎不会欣赏屏幕报废(如果过快地抓取太多结果,可能会阻止你)。
答案 1 :(得分:0)
没有在GreaseMonkey中完成此操作(事实上,如果你能做到的话,实际上并不知道); 虽然如果你真的希望通过打开一个新选项卡来实现它,并且如果你没有在你的代码中使用任何GM特定的东西(并且不想自动运行代码,那么,这可能是一个障碍),你可以看看Custom Buttons扩展。
有了它,您可以创建可以访问Firefox内部的按钮并调用gBrowser.addTab()
之类的内容。
但与CB合作比在GM中更棘手。
如果您感兴趣,这些帖子可能会有所帮助:
从Mozilla复制的代码示例:
var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.addTab("http://www.google.com/"));
newTabBrowser.addEventListener("load", function () {
newTabBrowser.contentDocument.body.innerHTML = "<div>hello world</div>";
}, true);
答案 2 :(得分:0)
我做了类似的事情
您所要做的就是将GM_xmlhttpRequest
响应保存在DIV
中
使用此DIV
,您可以执行任何操作(显示,隐藏,仅显示某些内容等)
只需查看my script源代码即可 我很肯定它会帮助你。
我知道你不需要,14k先生代表,但无论如何我会为你分解它:))
函数conectar()
调用GM_xmlhttpRequest
[GET]并仅存储我要在#divtempora
中使用的内容的一部分,这是用户从未看到的虚拟div(隐藏)。
然后函数resp_dxlegacy()
遍历虚拟div,将我想要的信息保存在变量中并再次调用conectar()
传递此参数并将内容存储在另一个div中,最后显示给用户。