2

我正在尝试将 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
4

3 回答 3

3

除非您对坚持使用 PhoneGap 2.1 有特殊要求,否则请使用命令行界面和版本 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");
于 2013-11-17T23:10:51.690 回答
1

您提到的错误表明您没有包含插件工作所需的有效 .js 文件。

添加/删除任何插件的推荐方法是使用 CLI。

确保您已在 cordova.js 文件下方的 html 文件中包含 .js 文件。

同时更新到最新版本的 Cordova。

于 2013-11-17T15:47:59.307 回答
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");
于 2013-11-22T12:47:14.383 回答