如果互联网出现故障,greasemonkey会阻止脚本卡住

时间:2013-11-13 08:46:10

标签: javascript greasemonkey

我有2个脚本使用2个网站并互相交流。基本上:网站1,web1脚本,网站2,web2脚本,它们像这样循环:Web1脚本>等待第1页上的新内容>将它发送到网站2(通过window.location.href =网站2更改网站)然后在网站2完成工作后返回到网站1.这是我的脚本应该如何工作,但我有一些问题:

我正在使用Tampermonkey和Chrome。每次我的连接断开时,chrome会将当前网站页面更改为某个自定义页面,并且没有可用的连接错误。这会停止我的脚本,即使我的互联网再次打开也无法返回(因为我不能@include这个自定义网页所以我不能让脚本回到以前的网页..)这个脚本应该整天工作而不需要人工干预但它无法避免随机2-3秒的停机时间......

有没有办法阻止chrome这样做或者让greasemonkey在自定义chrome错误页面上工作,或者最终如果firefox能够做到这一点?

如果出现问题并且页面刷新时间过长,我也会使用简单的间隔功能来恢复我的脚本,它是这样的:

function watchdog()
{    
window.setInterval(function(){console.log('woof'); ninja_t('woof');set_number = 9; localStorage.setItem('set_number',9);set(set_number);},60000);
}

如果有一些SyntaxError,这个函数会起作用吗?我的意思是setInterval函数在其他函数中出现语法错误后仍能正常工作吗?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你希望你的脚本在没有可用的互联网连接的情况下暂停,而不是制作一个window.location,然后崩溃。

阅读this,了解如何使用javascript检查互联网连接是否正常。您可以使用setTimeout功能暂停脚本,等待互联网连接返回。