繁体   English   中英

修改 Google 搜索结果页面

[英]Modifying Google Search Results Page

我写了一个GM_xmlhttpRequest脚本,它将对谷歌结果页面的下2页执行GM_xmlhttpRequest ..即如果我的当前页面是1,那么我的脚本将执行GM_xmlhttpRequest到第2页和第3页..

现在我的脚本将从这 3 个页面中提取所有 url 并重新排序它们

为此我做了:

unsafeWindow.addEventListener('load',Reorder,true);

function Reorder()
{
alert("onload fired")
..........
..........
// some code overhere to collect all the urls into an array
// and to reorder the urls in the array

现在我将这些 url 注入到我的参考页面中,即我保留对应该将这些 url 附加为 childNodes 的节点的引用。 2 和 3(在结果页面底部),以便现在它们将指向我这些新动态生成的页面。 为此,我修改了这些链接的onclick属性,这将在当前窗口本身中打开一个新窗口,并将修改后的 responseXML 对象写入新创建的窗口。

现在一切都很棒,即 url 提取、重新排序、创建新窗口、编写responseXML对象..

但问题是,当我点击这些修改后的链接并且我新生成的窗口替换父窗口时,它不会发出“已触发加载”的警报......事实上它不会停止加载,即它显示所需的内容,但从未完全加载,因为状态栏没有显示“完成”,实际上它显示“正在等待 clients1.google.com”...

那么有没有人知道这里到底出了什么问题..是不是由于在谷歌搜索页面上运行的一些脚本与页面内容以某种方式同步......

基本上对于那些不知道greasemonkey如何工作的人......我的代码只是删除所有包含url的锚标签并插入具有不同url的类似锚标签......简而言之,问题是我只是在制作一个新窗口和做 document.write(这个新创建的 html 页面)...除了 url 我没有改变任何东西...所以基本上脚本以某种方式与页面上的 url 同步,或者它真的很重要只要主体包含相同的 DOM 树,脚本中包含哪些数据。

请任何你知道或有想法的人..请告诉我......

我需要尽快完成这件事..

当您使用document.write将内容写入新页面时,您需要使用document.close()告诉浏览器您已完成 - 在那之前,浏览器认为还有更多内容要来并继续显示加载图标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM