我有一個嵌入式IE 7瀏覽器的應用程序。我需要在靜態HTML頁面中測試,javascript是好的,用戶是否連接到Internet。一種測試基於IE7的瀏覽器是否在線的方法
Offline.js
雖然優秀的圖書館不會在這裏工作,因爲JavaScript不支持。
window.navigator.onLine
object.property不存在。
簡單地使用meta
重定向不是一個選項,因爲如果互聯網不可訪問,我會離開用戶在當前頁面。邏輯應該看起來像這樣:
function UserIsOnlineTest(){
// needed code goes here
// boolean return value
}
if (UserIsOnlineTest()) {
window.location.replace('http://theOnlineSite.com/');
}
想法?
完整的解決方案,我結束了(基於@RobM。接聽)
(function(){
var testImage= 'http://the.site.com/testimage.png';
var image = new Image();
var online = true;
image.src = testImage;
image.onerror = function() {
online = false;
}
setTimeout(function() {
if (online) {
window.location.replace('http://the.site.com/');
},1000);
}
}());
更定稿,我需要在測試中的錯誤添加延遲。由於這實際上是文件中唯一的代碼,因此它實際上是在下載圖像之前測試在線變量。
是不是'navigator.onLine'? 。注意大寫L –
也可能重複:http://stackoverflow.com/questions/189430/detect-that-the-internet-connection-is-offline –
'window.navigator.online'仍然不可用,這不是一個重複,我明確需要爲IE7的答案。 – THBBFT