使用PhoneGap插件:子浏览器

时间:2012-05-15 15:32:55

标签: android cordova plugins phonegap-plugins childbrowser

我正在尝试使用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 page上列出的第2,3和4步。

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

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

点击链接时没有任何反应。

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

Application Zip File.

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,而不是仅仅将其包含在项目的根目录中。*

6 个答案:

答案 0 :(得分:13)

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

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

不知道你是否解决了这个问题。 我有同样的问题,经过一些研究后我发现我必须这样做 在AndroidManifest.xml文件中添加以下行:

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

虽然自述文件中没有提及......

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

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

Main Folder
  - assets
    - www
     - index.html
     - childbrowser.js
     - etc
    - libs
    - res
    - src
      - com
        - phonegap
          - plugin(s)
            - childbrowser

答案 5 :(得分:0)

在子browser.js文件中,在函数childbrowser()

上面添加以下代码

(function(){

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