Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS离线检测?我做错了什么_Javascript_Html_Offline - Fatal编程技术网

Javascript JS离线检测?我做错了什么

Javascript JS离线检测?我做错了什么,javascript,html,offline,Javascript,Html,Offline,我是一个JS新手,所以我正在尝试找出如何使w3c的这个示例在我的WebApp中工作,该应用程序将在PhoneGap框架中运行 我相信这很容易,但是当事件监听器被触发时,它会运行附加的函数和警报,问题是它会继续执行之后的所有操作。假设我关掉iphone,我会收到一个警报,然后它会执行下一个警报,说它是在线的。。。不管是谁。。。如果你们中有人对执行这样的函数有更好的想法,请告诉我PhoneGap Cordova还有两种其他方法 <script> <!-- window.addEve

我是一个JS新手,所以我正在尝试找出如何使w3c的这个示例在我的WebApp中工作,该应用程序将在PhoneGap框架中运行

我相信这很容易,但是当事件监听器被触发时,它会运行附加的函数和警报,问题是它会继续执行之后的所有操作。假设我关掉iphone,我会收到一个警报,然后它会执行下一个警报,说它是在线的。。。不管是谁。。。如果你们中有人对执行这样的函数有更好的想法,请告诉我PhoneGap Cordova还有两种其他方法

<script>
<!--
window.addEventListener("offline", function(e) {alert("offline");})
window.addEventListener("online", function(e) {alert("online");})
if (navigator.onLine) {
  alert('online')
  //functions to run online
} else {
  alert('offline');
  //offline functions or through into loop
}
-->
</script>

如果(window.navigator.onLine){alert('I am onLine');}我刚刚在控制台中测试了它,它可以工作:)

您在addEventListener函数中缺少一个参数。 对我来说,这很好:

window.addEventListener("offline", function () {
    console.log("Online status: " + navigator.onLine);
}, false);

window.addEventListener("online", function () {
    console.log("Online status: " + navigator.onLine);
}, false);

谢谢,但这正是我所拥有的。。。问题是我的addEventListener乱七八糟。。。我不知道如何划分它们,这样当它关闭时就不会运行它下面的所有脚本。因此,使用'window.addEventListener(“脱机”,函数(e){alert(“脱机”);})window.addEventListener(“联机”,函数(e){alert(“联机”);}',脱机警报关闭后,联机警报将运行。。。我确信这非常简单,我只是不熟悉EventListener;addEventListener(“联机”,函数(on){alert(“联机”);},false);如果我运行这个程序,无论是关闭还是打开,它都将触发两个事件。它总是先离线,然后在线。帮帮忙?我想出来了。。。它很好用。除了在iOS模拟器中。。然后它就彻底失败了。你可能想看看,一个为解决这个问题而创建的库。有什么答案吗?我也面临同样的问题