phonegap的childBrowser.jar插件抛出错误:settings.setPluginState(true);

时间:2013-11-14 18:02:16

标签: javascript cordova jar childbrowser

我正在尝试使用childBrowser插件进行phonegap,而且无法生成.apk,

在Eclipse中,我可以在以下位置看到错误(已弃用的函数):

settings.setPluginState(true);

这里的问题是两个版本都有这条线,无论如何我评论了这一行(没有那么多的希望),但它仍然失败

失败我的意思是:

window.plugins.childBrowser.showWebPage('http://google.com/')

不打开任何页面或抛出任何错误......

知道我缺少什么吗?

PD:我包含.jar,.js(并引用它),androidmanifest.plist和config.xml中的行

- 编辑 -

enter image description here

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

3 个答案:

答案 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");