1

我正在尝试使用 Phonegap 插件,但遇到了麻烦。这是我第一次使用带有 Phonegap 的插件。

我使用的插件是ChildBrowser for Android。

我已经在标题中链接了 Javascript 文件。

<script src="cordova-1.7.0.js" type="text/javascript"></script>
<script src="childbrowser.js" type="text/javascript"></script>

还遵循了Github 页面上列出的步骤 2、3 和 4 。

我尝试在链接中使用 ChildBrowser 插件:

<a href="#" onClick="window.plugins.childBrowser.openExternal("http://www.google.com");">Test</a>

单击链接时,没有任何反应。

有什么我想念的吗?我是否必须在标题中添加一些代码来初始化子浏览器插件?

应用程序压缩文件。

Logcat 返回

D/CordovaLog(  885): Error: Status=2 Message=Class not found
D/CordovaLog(  885): file:///android_asset/www/cordova-1.7.0.js: Line 958 : Error: Status=2 Message=Class not found
I/Web Console(  885): Error: Status=2 Message=Class not found at file:///android_asset/www/cordova-1.7.0.js:958

*编辑:根据我对网络的研究,当插件没有从 plugins.XML 文件中正确引用时,我得到的错误最常触发。我已经仔细检查并确保它是正确的。

我想知道 src 文件夹位置是否不正确。我的项目根目录中有 src 文件夹,其中还包含我的 index.html、css 和 javascript。我注意到一些构建 Phonegap 应用程序的人有一个名为的文件夹www,其中包含 index.html,而不是仅将其包含在项目的根目录中。*

4

6 回答 6

13

在 PhoneGap 2.0 版中,您必须将以下行添加到 res/xml/config.xml 而不是 res/xml/plugins.xml:

<plugin name="ChildBrowser" value="com.phonegap.plugins.childBrowser.ChildBrowser"/>

不确定这是否适用于 PhoneGap 1.7 版。

于 2012-07-26T09:59:07.533 回答
2

看起来 onClick 属性的值格式不正确,您不能将“”用于另一个“””中的字符串,即它应该如下所示:

<a href="#" onClick="window.plugins.childBrowser.openExternal('http://www.google.com');">Test</a>
于 2012-05-15T15:42:56.040 回答
2

不知道你有没有解决问题。我遇到了同样的问题,经过一番研究,我发现我必须在AndroidManifest.xml文件中添加这些行:

<activity android:name="com.phonegap.plugins.childBrowser.ChildBrowser" android:label="@string/app_name">
   <intent-filter>
   </intent-filter>
</activity>

虽然这在自述文件中没有提到......

于 2012-07-09T08:13:52.053 回答
1

看起来您使用的是旧版本的 ChildBrowser。您应该从 github 获取最新的 ChildBrowser 代码,因为它会使用 cordova 更新对 PhoneGap 的引用。

除此之外,当您单击链接时,您在“adb logcat”中看到了什么?

于 2012-05-15T17:26:17.667 回答
1

我认为您的文件夹结构错误。您使用的是哪个版本的 Phonegap?结构应该是:

Main Folder
  - assets
    - www
     - index.html
     - childbrowser.js
     - etc
    - libs
    - res
    - src
      - com
        - phonegap
          - plugin(s)
            - childbrowser
于 2012-05-24T03:51:45.693 回答
0

在子 browser.js 文件中,在函数 childbrowser() 上方添加以下代码

(功能() {

var cordovaRef = window.PhoneGap || 窗口.Cordova || window.cordova; 最后关闭该功能。

于 2012-07-27T04:54:41.897 回答