gpt4 book ai didi

javascript - 如何知道我用 Greasemonkey 打开的选项卡何时加载?

转载 作者:行者123 更新时间:2023-11-28 09:01:16 25 4
gpt4 key购买 nike

我正在编写一个greasemonkey脚本来浏览链接列表并在新选项卡中打开它们(对所有链接重复使用相同的新选项卡),但我不知道如何等到页面打开已加载以加载下一个链接...我尝试添加到新选项卡的任何事件监听器都会给我一个权限被拒绝的错误...如何检查新选项卡是否已完全加载(或至少加载到足以使服务器处理了请求)还是不处理?我尝试了 unsafeWindow 但也遇到了拒绝错误(尽管我可能不完全理解其用途......)

举个例子...这是我尝试过的多种方法之一...

mywin.addEventListener(DOMContentLoaded, false);

还有一个(我不记得我还尝试过什么,因为当它们不起作用时我删除了它们)........

mywin.unsafeWindow.setTimeout(1000);

我不确定为什么我要尝试在“mywin”上设置超时,所以我将尝试在主窗口上设置它,但即使这有效,我仍然想知道正确的方法检查新选项卡的状态。

谢谢!!!

编辑:我确实设法让 setTimeout 工作,但这不是最好的方法,因为太低的设置意味着它们不会在缓慢的连接中加载,而太高的设置意味着更快的主要延迟连接。

所以我仍在寻找更好的方法!

编辑:它不应该(但可能)属于跨站点/跨域脚本,因为所有链接都在同一站点上...

starting with 
http://www.aywas.com/message/notices/

the links being opened are like these
http://www.aywas.com/message/notices/9767066/
http://www.aywas.com/message/notices/9765913/
http://www.aywas.com/message/notices/9765644/

编辑:GM_xmlhttpRequest 或 http-on-examine-response 可能适用于此吗?如果是这样,我该怎么做?

最佳答案

我找到了解决该问题的方法...奇怪的是,当使用 GM_openInTab 创建窗口时我无法做到这一点,但使用

mywin2=window.open("http://www.aywas.com/message/notices/9801049/", "my_win2");

允许我使用以下代码来检测加载并仅在加载到足以满足我的目的后才关闭选项卡! (虽然上面代码的“窗口标题”位似乎没有做任何事情......)

mywin2.addEventListener('load', function() {
mywin2.close()
}, false);

关于javascript - 如何知道我用 Greasemonkey 打开的选项卡何时加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700400/

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