即使网站离线,如何保持我的用户脚本正常工作?

Alo*_*234 5 javascript greasemonkey google-chrome userscripts tampermonkey

我想制作一个用户脚本(现在我只担心 Chrome 兼容性)每 30 秒重新加载一次页面(我的意思是,这不是重点,我只是想在互联网离线时以某种方式执行一些脚本),以防万一互联网出现故障,用户无法看到它。

现在的问题是,一旦互联网出现故障,页面将被重定向到“此网页不可用”,并且所有用户脚本都会停止工作。

我已经尝试添加@include *元数据,希望这将使用户脚本能够在所述页面上工作,但是我没有成功。

Bro*_*ams 2

Chrome 的“此网页不可用”显示不是具有“Greaseable”方案的标准页面。这意味着 Tampermonkey 脚本和 Chrome 用户脚本不会为此触发。你必须制作一个成熟的Chrome 扩展。(更多详细信息请参阅此问题。)

有一些解决方法:

(1) 您可以将您的 DNS 提供商切换OpenDNS等提供商。OpenDNS 劫持 DNS 解析错误并提供垃圾邮件“搜索”页面。(页面是guide.opendns.com,IIRC。)

该搜索页面可以通过 Tampermonkey 进行操作。您的脚本可以搜索 OpenDNS 的“不可用”消息并知道该站点已离线。

(2)使用 AJAX 轮询页面标题,并且仅在页面启动且在线时重新加载。

使用GM_xmlhttpRequest() (或 jQuery 发出请求head。如果请求出错,则该站点处于离线状态,请勿重新加载页面。

同样,如果Last-Modified标题与您上次检查时相同,则重新加载页面(通常)是没有意义的。