文档章节

如何在Chrome浏览器中启动deviceready事件(尝试调试phonegap项目)?

kisshua
 kisshua
发布于 2018/12/19 11:58
字数 358
阅读 16
收藏 0

我正在开发PhoneGap应用程序,我希望能够在Chrome中调试它,而不是在电话上调试。但是,我在onGetReady()函数中初始化我的代码,该函数在PhoneGap触发“deviceready”事件时触发。由于Chrome不会触发此事件,因此我的代码并未初始化。

这里是我的代码的简化版本:

var dashboard = {};

$(document).ready(function() {
    document.addEventListener("deviceready", dashboard.onDeviceReady, false);
}); 

dashboard.onDeviceReady = function() {
    alert("hello!"); //this is never fired in Chrome
};

我试过使用StopGap代码:

var e = document.createEvent('Events'); 
e.initEvent("deviceready");
document.dispatchEvent(e);

但是,当我在Chrome JavaScript控制台中运行该代码时,“hello”警报仍然不会触发。我究竟做错了什么?或者Chrome不支持发射像deviceready这样的“自定义”事件?

回复:

最终拉出StopGap代码并且必须引入一个小小的延迟(将这些代码运行在一个单独的脚本中,而不是页面特定的代码中):

window.setTimeout(function() {
    var e = document.createEvent('Events'); 
    e.initEvent("deviceready", true, false); 
    document.dispatchEvent(e);
}, 50);

 

将这段代码添加到你的onLoad处理函数中:

if (navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry)/)) {
        document.addEventListener("deviceready", onDeviceReady, false);
    } else {
        onDeviceReady();
    }

© 著作权归作者所有

共有 人打赏支持
kisshua
粉丝 31
博文 174
码字总数 35260
作品 0
武汉
后端工程师
私信 提问
PhoneGap API介绍:Events

事件类型: backbutton deviceready menubutton pause resume searchbutton online offline backbutton 当用户在Android系统上点击后退按钮的时候触发此事件。 document.addEventListener("b......

Java编程思想
2014/07/21
0
0
jQuery Mobile + PhoneGap的Android应用怎么调试

环境:eclipse3.6/adt18/sdk4.0/jqm1.2/phonegap2.1/jquery1.8/chrome/safari 我现在使用jqm+phonegap开发一个android应用 在本地用jqm写好页面代码用浏览器调试好,然后用jsonp跨域请求数据...

atearsan
2012/10/19
7.1K
5
使用 Chrome 开发工具调试 PhoneGap 应用

PhoneGap/Cordova是创建移动APP一个很酷的框架,但也仍有些不足的地方,不能讲十全十美。 你怎么debug你的app? 假设你现在写一种不常规的app, 你需要给console.log更多的信息并且要十分耐心的...

oschina
2013/11/21
4.5K
9
Apache Cordova 3.3.0 发布,Android 远程调试

Apache Cordova 3.3.0 发布,此版本让人眼前一亮的特性是: CB-5487 当你的 Android 应用启用调试时,允许进行远程调试 Chrome 远程调试是个很厉害的特性,但是目前还没有在 PhoneGap 应用上...

oschina
2014/01/03
4.4K
1
小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序加载事件)

在了解了PhoneGap中都有哪些事件之后,本节将开始对这些事件的用法进行详细地介绍。本节要介绍的是程序加载事件,也就是deviceready、pause和resume这3个事件。 【范例4-2 程序加载事件的使用...

woiwoi
2014/11/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
1
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部