gpt4 book ai didi

javascript - 修改Google搜索结果页面

转载 作者:行者123 更新时间:2023-11-28 02:49:19 24 4
gpt4 key购买 nike

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

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

为此我已经做了:

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

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

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

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

所以有人知道这里到底出了什么问题吗?到一些在谷歌搜索页面上运行的脚本与页面内容同步...

基本上对于那些不知道greasemonkey如何工作的人......我的代码只是删除所有包含url的 anchor 标记并插入具有不同url的类似 anchor 标记......简而言之,问题是我是只是创建一个新窗口并执行 document.write(这个新创建的 html 页面)...除了 url 之外,我没有更改任何内容...所以基本上,脚本是否以某种方式与页面上存在的 url 同步,或者只要正文包含相同的 DOM 树,脚本中包含的数据是否真的很重要。

请大家知道或有任何想法......请告诉我......

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

最佳答案

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

关于javascript - 修改Google搜索结果页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4127428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com