我正在尝试使用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>
点击链接时没有任何反应。
有什么我想念的吗?我是否必须在标题中添加一些代码来初始化子浏览器插件?
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,而不是仅仅将其包含在项目的根目录中。*
答案 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; 并最后关闭该功能。