在PhoneGap应用,或者黑莓Java/HTML混搭应用中,如何使用JavaScript检查Mobile App网络连接状态呢?
- <script type="text/javascript">
- if (navigator.onLine) {
- alert("online");
- } else {
- alert("offline");
- }
- </script>
jQuery Mobile中显示online/offline状态
- <div data-role="content">
- <button id="home_network_button" data-icon="check">Internet Access Enabled</button>
- </div>
- <script type="text/javascript">
- if (navigator.onLine) {
- } else {
- $("#home_network_button").text('No Internet Access')
- .attr("data-icon", "delete")
- .button('refresh');
- }
- </script>
- </div>
开发离线应用的第一步是要知道设备是在线还是离线,HTML5为此定义了一个navigator.onLine属性,这个属性值为true表示设备能上网,值为false表示设备离线。这个属性的关键是浏览器必须知道设备能否访问网络,从而返回正确的只。实际应用中,navagator.online在不同的浏览器间还有写小的差异。
IE6+和Safari 5+能够正确检测到网络已断开,并将navigator.onLine的值转换为false。
Firefox 3+和Opear 10.6+支持navigator.onLine属性,但你必须手工选中菜单项“文件-Web开发人员(设置)-脱机工作”才能让浏览器正常的工作。
Chrome 11及之前版本始终将navigator.onLine属性设置为true。这是一个待修复的bug。
由于存在上述兼容性的问题,单独使用navigator.onLine属性不能确定网络是否连通。即便如此,在请求发生错误的情况下,检测这个属性仍然是瓜农的。以下是检测该属性状态的示例。
if(navigator.onLine){ //正常工作} else{ //执行离线状态时的任务 }
除navigator.onLine属性之外,为了更好地确定网络是否可用,HTML5还定义了两个事件:online和offline。当网络从离线变为在线或者从在线变为离线时,分别触发这两个事件。这两个事件在window对象上触发。
var EventUtil = { addHandler: function (element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else if (element.attachEvent) { element.attachEvent("on" + type, handler); } else { element["on" + type] = handler; } } }; EventUtil.addHandler(window, "online", function () { alert("Online"); }); EventUtil.addHandler(window, "offline", function () { alert("Offline"); });
为了检测应用是否离线,在页面加载后,最好先通过navigator.onLine取得初始的状态。然后,就是通过上述两个事件来确定网络连接状态是否变化。当上述事件触发式,navigator.onLine属性的值也会改变,不过必须要手工轮询这个属性才能检测到网络状态的变化。
支持离线检测的浏览器有IE6+(只支持navigator.onLine属性)、Firefox3、Safari4、Opera 10.6、Chrome、iOS 3.2版Safari和Android版WebKit。
参考:
http://mobile.tutsplus.com/tutorials/phonegap/build-an-exercise-tracking-app-geolocation-tracking/
相关推荐
此代码主要用于检测运行在Windows Mobile平台上的设备是否具备触摸屏功能。 ### 触摸屏检查 #### 代码解析 ##### 命名空间与导入 首先,代码通过`using`关键字导入了多个命名空间,包括但不限于`System`、`System...
- **远程故障排查**: 当服务器出现故障时,可以立即通过手机检查并解决问题。 - **灾难恢复**: 在紧急情况下,能够迅速采取行动,例如启动备份虚拟机。 - **日常监控**: 对于大型数据中心,管理员可以通过移动设备...
同时,定期检查更新以获取最新的功能和安全性改进,是保证Windows Mobile设备中心顺畅运行的关键。 总结来说,Windows Mobile设备中心(64位)是Windows 7 64位用户管理Windows Mobile手机的必备工具,它提供全面的...
- **版本更新**:定期检查应用更新,以确保使用最新版本的功能和服务。 - **技术支持**:如果遇到任何问题或疑问,可以通过 Crestron 的官方网站或客服热线获得帮助。 #### 五、结论 通过本指南的学习,您应该已经...
安装完成后,用户可以通过设备管理器检查声卡是否被正确识别,并通过驱动程序的控制面板调整各种音频参数,如增益、采样率、缓冲区大小等,以适应不同的录音和播放环境。 总的来说,艾肯Mobile U声卡驱动_v1.37.5是...
1. **设备检测**:可以通过`isMobile()`方法检查用户是否使用移动设备,`isTablet()`方法则用于判断是否为平板电脑。此外,还可以检测特定设备如`isiPhone()`, `isAndroidPhone()`等。 2. **操作系统检测**:库提供...
2. **功能调试**:在不同设备或模拟器上测试模板,检查其在不同屏幕尺寸和浏览器下的表现。 3. **自定义修改**:尝试修改模板的样式、布局或交互,以满足自己的需求。 4. **扩展功能**:结合JavaScript和jQuery,...
Windows Mobile 5.0 仿真器是一款用于开发者和测试人员的工具,它允许用户在桌面计算机上模拟运行 Windows Mobile 5.0 操作系统的设备。这个仿真器对于开发、调试和测试移动应用至关重要,因为它提供了在真实设备上...
对于e-mobile启动后,登录manager后台管理,显示“服务器通讯异常,请检查相关设置”的情况,排查方法包括:确认初始化设置中设置的目标e-cology系统是否已启动,以及检查e-cology系统webservice状态是否正常。...
4. **系统调试工具**:对于开发者而言,控制台插件是调试移动应用的重要工具,因为它允许他们查看系统日志、跟踪内存使用情况、检查网络连接等。 5. **第三方工具集成**:许多控制台插件支持安装和使用第三方命令行...
3. **调试和定制:** 使用浏览器的开发者工具检查和调整元素样式,根据需求修改JavaScript代码以实现特定功能。 4. **性能优化:** 注意减少HTTP请求,合并CSS和JS文件,以及利用数据缓存来提高应用性能。 总之,`...
3. **调试工具**:内置的开发者工具提供了一套完整的调试解决方案,包括元素检查、网络请求查看、性能分析等功能。这些工具使得开发者能够定位并修复代码中的问题,优化网页加载速度和性能。 4. **触摸事件模拟**:...
使用前请检查itunes是否已安装64位版本,我使用的是iTunes 64位_12.12.2.2 不需要iTunesMobileDevice.dll 本程序开发环境win10 x64 vs2022 使用多字节字符集编译64位 预处理 _CRT_SECURE_NO_WARNINGS 如果提示...
在本文中,我们将深入探讨ECSHOP Mobile 触屏的关键特性、安装步骤以及如何有效利用其功能来提升您的在线业务。 首先,ECSHOP Mobile 触屏的核心目标是为智能手机和平板用户提供一个流畅、直观的购物体验。它采用了...
- 如果同步连接没有成功,可以手动打开 Windows Mobile 设备中心,并检查连接设置。 - 确保“允许连接到以下一个其中的端口”选项中已经选中了 DMA (Device Manager Agent),然后点击“连接”。 5. **屏幕方向...
- **步骤四**: 监控下载进度并检查是否有错误发生。 通过以上步骤,您可以成功地为 Windows Mobile 6.1 构建并下载自定义的操作系统镜像。这份开发指南不仅适用于新手,也对有经验的开发者有所帮助,因为它详细地...
- `boolean isConnected()`:检查SE服务是否已连接。 - `void shutdown()`:关闭SE服务,释放资源。 - `SEService(Context context, SEService.CallBack listener)`:构造函数,初始化SE服务,需提供上下文和回调...
3. 对特定设备或操作系统进行更精确的判断,例如检查是否为iPad: ```php if ($detect->isiPad()) { echo '当前访问设备为iPad'; } ``` 或者检测是否为Android设备: ```php if ($detect->isAndroidOS()) { echo '...
对于普通用户,理解如何使用同步工具进行数据同步和应用安装,以及定期检查和更新设备驱动,可以保持设备的良好运行状态,并确保与最新的软件和服务兼容。 总之,Windows Mobile在Windows 7下的开发和使用涉及到多...