我正在尝试使用childBrowser插件进行phonegap,而且无法生成.apk,
在Eclipse中,我可以在以下位置看到错误(已弃用的函数):
settings.setPluginState(true);
这里的问题是两个版本都有这条线,无论如何我评论了这一行(没有那么多的希望),但它仍然失败
失败我的意思是:
window.plugins.childBrowser.showWebPage('http://google.com/')
不打开任何页面或抛出任何错误......
知道我缺少什么吗?
PD:我包含.jar,.js(并引用它),androidmanifest.plist和config.xml中的行
- 编辑 -
Phonegap:2.1.0
childBrowser:2.0
- 编辑 -
如果等待直到设备准备好,那么我在控制台的模拟器中收到此错误:
E/Web Console(30411): Uncaught TypeError: Cannot read property 'childBrowser' of undefined at file:///android_asset/www/js/scripts.js?v=33s:883
答案 0 :(得分:3)
除非您特别要求坚持使用PhoneGap 2.1,否则请使用command-line interface和版本3+。子浏览器插件现在默认与Cordova一起发布。
这很简单:
$ cordova create hello com.example.hello HelloWorld
$ cordova platform add android
$ cordova plugin add org.apache.cordova.inappbrowser
然后将您的HTML添加到www
目录并使用以下代码构建您的应用
$ cordova build android
要在子浏览器中打开URL,请在JavaScript中调用以下内容:
window.open("http://google.com/", "_blank");
答案 1 :(得分:1)
您提到的错误表明您没有包含有效的.js文件,这是该插件工作所必需的。
添加/删除任何插件的推荐方法是使用CLI。
确保在cordova.js文件下面的html文件中包含.js文件。
同时更新到最新版本的Cordova。
答案 2 :(得分:1)
你不能评论这一行:
settings.setPluginState(true);
重要信息:但如果您使用的是Simulator
,很遗憾,plugins
目前不支持Simulator
- 您只能在真实设备。
否则你会收到你说的错误:
E/Web Console(30411): Uncaught TypeError: Cannot read property 'childBrowser' of undefined at file:///android_asset/www/js/scripts.js?v=33s:883
因为当然如果你没有初始化插件,你将拥有:
window.plugins = undefined
由于窗口的属性plugins
本身不存在,您必须创建/初始化它。
你可以用这样的javascript打开一个子窗口:
window.showModalDialog("http://www.google.com");