素白年代
- 发布:2018-12-25 16:37
- 更新:2018-12-25 17:06
- 阅读:1303
通过HBuilder新建web2App项目,注册广播监听不执行?需要引用5+api吗?
分类:HBuilder

素白年代 (作者)
我是web项目,这些NJS代码是写在web项目里的
2018-12-25 16:52
回梦無痕
@592217037@qq.com:wap2App项目也可以在本地页运行代码的,本地页把运行结果传给远程页就可以实现效果了。
2018-12-25 16:54
素白年代 (作者)
回复 回梦無痕:哦,我是jsp写的web项目,用HBuilder转成web2App项目,无法注册广播监听,是不支持jsp调用5+api,还是我写错了?
2018-12-25 19:57
回梦無痕
@592217037@qq.com:你先确定你这段H5+代码能在移动APP项目中冷正常运行,如果移动APP项目中冷运行,wap2app不能,说明这段代码不能在远程页面运行,需要在wap2app中的本地页运行
2018-12-25 20:15
素白年代 (作者)
回复 回梦無痕:嗯,我试过了,我用html页面能够执行,用jsp页面不会执行,所以我在想是不是jsp页面调用不了5+api
2018-12-26 08:28
回梦無痕
@592217037@qq.com:说明这段代码不能在远程页面(所有用网址加载的页面)运行,需要在wap2app中的本地页运行
2018-12-26 08:36
素白年代 (作者)
回复 回梦無痕:不是,我用html页面写的也是通过网址加载的,它能运行。而jsp页面就不行
2018-12-26 08:45
回梦無痕
@592217037@qq.com:jsp到了webview也是渲染为HTML的,所以后端什么语言在webview端无区别,应该是你的代码写错了。
2018-12-26 09:03
素白年代 (作者)
回复 回梦無痕:调用5+api用的是同一段代码,html能够注册监听,jsp没执行。我再看看后端的jsp吧
2018-12-26 09:37
回梦無痕
回复 素白年代:h5+api代码是要等待webview端plus事件才能有效执行,可能你的次序搞错了。代码中只留document.addEventListener('plusready', plusReady, false);就可以了,不需要判断window.plus。
2018-12-26 09:42
素白年代 (作者)
回复 回梦無痕:一开始就是没判断window.plus,不行
2018-12-26 10:31
回梦無痕
回复 素白年代:监听plusready就可以了,我这边做的所有APP都没有判断window.plus的。判断window.plus主要是想嗲吗执行时间早一点而已,基本是ios才有用的,安卓的的plus加载时间比ios延迟多了,所以安卓判断window.plus没什么用,为了统一都监听plusready会比较好写。
2018-12-26 10:40
素白年代 (作者)
回复 回梦無痕:后来解决了,原来是后端人员是在iframe里面使用,而5+api注入不到iframe里,导致window.plus对象获取不到
2019-01-23 10:46