|
[App引擎]
addEventListener捕获物理键,本地真机调试成功,云编译后无效
[复制链接]
本帖最后由 csdudu 于 2018-1-19 16:26 编辑
- <script src="script/api.js"></script>
- <script>
- apiready = function () {
- console.log(api);
- api.addEventListener({
- name: "keyback"
- }, function(ret, err){
- alert('按了退出键');
- return false
- });
- api.addEventListener({
- name: 'volumeup' // 设备音量加键被点击事件,仅 Android 平台有效
- }, function(ret, err) {
- alert('!!按了音量加键');
- });
- }
复制代码 主要代码如上。本地wifi真机调试,按这两个物理键,都能成功弹窗,但是云编译后就不行了,似乎根本就没捕获到按键一样。Api对象是正常的,用vconsole.js查看,能看到。
求指点!
---------------------------------------------------
走了无数弯路,做了许多测试,前天才找到了问题的答案!因为我在整个调用体系中,调用了两次apiready,后者(在index.html中)定义自然覆盖了前者(其它页面中)。因此就出现,在单页中测试没问题,跟index.html一起打包,就失效的问题。-------怪自己对于打包的架构不熟悉,使用了apicloud新建时推荐的index.html+Frame页结构,其实没有任何必要使用frame。
其实下面的答主告诉我要注意frame结构,我也轻率的回答了没有使用frame,可是没想到,我最顶层的结构就是一个Frame---这真是太讽刺了。我还以为那是apicloud钦定的顶层结构,根本就没敢去怀疑它!其实根本就不需要用Frame!
|
|