2

我正在编写一个greasemonkey脚本来浏览链接列表并在新选项卡中打开它们(为所有这些重复使用相同的新选项卡),但我不知道如何等到页面加载加载下一个链接...我尝试添加到新选项卡的任何 eventListener 都会给我一个权限被拒绝错误...我如何检查新选项卡是否已完全加载(或至少加载到足以让服务器处理请求) 或不?我尝试了 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 可能适用于此吗?如果是这样,我该怎么做?

4

1 回答 1

0

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

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

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

mywin2.addEventListener('load', function() {
  mywin2.close()
}, false);
于 2013-07-17T19:21:24.687 回答