检查互联网和特定网站是否使用JavaScript/AAJAX

Checking if the Internet and a particular site are up in JavaScript/AJAX

本文关键字:JavaScript AAJAX 是否 网站 互联网 检查      更新时间:2023-09-26

我有一个在我的设备上本地运行的页面,我想使用AJAX或普通JavaScript来检查设备是否连接到互联网以及是否有特定的网站。

此外,我正试图弄清楚如何通过AJAX计算RSS提要中的条目数量,但我以前从未围绕RSS编程过。不过,这并不是一个重要的优先事项。

与Ajax不同,脚本和图像的加载不受同源策略的约束,因此您可以跨域查询它们的存在(但不能读取它们的内容)。如果您知道站点上的特定图像,则可以使用new Imageonload事件处理程序来测试站点是否已启动:

var i = new Image();
i.onload = function() { alert("site is up!") }
i.onerror = function() { alert("site is not up!") }
i.src = "/favicon.ico";

/favicon.ico在许多主要网站上都有,因为它是旧IE中收藏夹功能所必需的。并不是每个网站都有它(事实上,并不是每个站点都有收藏夹),但它适用于谷歌、维基百科、堆栈溢出等主要网站。

/favicon.ico非常适合跨站点支持,但如果您只想针对一个特定站点,只需在该站点上找到一个图像并查询其存在。

出于安全考虑,禁止跨站点Ajax。一些解决方案是使用油彩键/userscript(如果这只是个人使用的话),或者使用flash或java 等插件

有基本支持

navigator.online
//Events
window.onOnline
window.onOffline

在桌面浏览器上,并在Android上支持。这可能不能完全回答你的问题,但我认为无论如何都值得分享:)