我刚刚将phonegap 1.4.1升级到1.6.1,并且还从https://github.com/libbybaldwin/phonegap-plugins/tree/master/Android/ChildBrowser升级了儿童浏览器
我在plugins.xml文件中添加了这一行
<plugin name="ChildBrowser" value="com.phonegap.plugins.ChildBrowser.ChildBrowser"/>
但是当我打电话给你时
window.plugins.childBrowser.showWebPage( "http://google.com", {
showLocationBar: true
});
我发现此错误未捕获TypeError:无法调用未定义的方法'showWebPage'
答案 0 :(得分:0)
关于1.4.1对1.6.1:
请注意,我的github repo of phonegap-plugins是我在网络时间“冻结”的,以允许继续使用那个时代的插件的phonegap 1.4.1。
继续前往cordova 1.6.1+,你需要继续使用官方的非官方插件
https://github.com/phonegap/phonegap-plugins
注意:这些插件可能会或可能不会更新与cordova 1.6.1一起使用。请从电话沟工程师那里阅读他们的个人自述文件和博客:
http://simonmacdonald.blogspot.com/2012/04/migrating-your-phonegap-plugins-to.html
总结:从1.4.1移动到1.6.1+并使用phonegap插件需要提高警惕,因为这两个版本之间内部有很多变化。
答案 1 :(得分:0)
我能够使用以下代码解决此错误:
try {
var cb = new ChildBrowser();
console.log(cb);
cb.showWebPage('http://www.google.com');
}catch (err){
console.log(err);
}
虽然这导致了另一个错误:
PhoneGap Build + Cordova + ChildBrowser Error
如果您没有收到任何错误,此解决方案有效 - 请告诉我们!
答案 2 :(得分:0)
现在已经对这个相同的错误进行了几天的斗争,发现你无法立即从index.html调用childBrowser,可能是因为childBrowser插件的初始化需要一些时间才能完成。
此解决方案有效:
setTimeout(function() {
window.console.log('Opening Childbrowser...');
window.plugins.childBrowser.showWebPage("http://www.google.com", { showLocationBar: true });
}, 3500);
换句话说:你必须等待childBrowser对象变得可用,当然还有更优雅的解决方案。
免责声明:使用当前的1.7.0rc1 Cordaova版本进行测试,不确定这是否也适用于1.6.1。