前端中如何判断在线状态?

判断在线状态

为了判断浏览器的在线状态,HTML5提供了两种方法来检测是否在线。

(1)onLine属性:通过navigator对象的onLine属性可返回当前是否在线。如果返回true,则表示在线;如果返回false,则表示离线。当网络状态发生变化时,navigator.onLine的值也随之变化。开发者可以通过读取它的值获取网络状态。

(2)online/offline事件:如果开发者需要在网络状态发生变化时立刻得到通知,则可以通过HTML5提供的online/offline事件来检测。当在线/离线状态切换时,body元素上的online/offline事件将会被触发,并沿着document.body、document和window触发。因此,开发者可以通过它们的online/offline事件来检测网络状态的变化。

【例19.2】我们在使用网络工作的时候,有的时候会因为网络的信号或者是故障出现离线的情况,而往往因为工作的繁忙,我们不能第一时间知道网络的连接情况,所以使用程序来判断网络的连接情况是十分必要的。本实例将通过onLine属性检测网络的当前状态。

(1)创建index.html文件,首先定义一个id属性值为pStatus的p元素,用于显示当前的网络状态,并在页面中导入CSS文件和JavaScript文件,代码如下。

(2)创建JavaScript文件js2.js,编写自定义函数pageload和Status_Handle,在pageload函数中通过调用navigator对象的onLine属性来检测当前的网络状态,并通过Status_Handle函数将检测结果显示在页面中。代码如下。

本例运行的效果如图19.3所示。

图19.3 通过onLine属性检测网络的当前状态

【例19.3】本实例将开发一个离线留言板。利用离线Web应用程序,来对数据进行控制,将要发表的信息内容进行发表,使填入在留言板中的数据显示在页面上。

(1)创建index.html文件,首先定义一个id属性值为mm的ul元素,用于显示留言列表,再定义一个p元素,在该元素内部创建一个文本域和一个“发表”按钮,并设置当单击该按钮时调用click1函数,然后在<body>标签中定义当页面载入时调用localdata函数,最后在页面中导入CSS文件和JavaScript文件。代码如下。

(2)创建JavaScript文件js3.js,在文件中首先编写自定义函数click1,该函数用来将用户的留言信息保存在本地;然后编写自定义函数localdata,该函数用来获取保存数据并将其显示在页面中;接着编写自定义函数RetRndNum,该函数用来生成指定长度的随机数;最后编写自定义函数AddServerData,该函数用于在线时向服务器添加数据。具体代码如下。

运行本实例,在输入框中输入留言内容,然后单击“发表”按钮,留言板中的数据将会显示在页面上。

「链接」

举报
评论 0