3

我刚刚将 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
    });

我收到此错误 Uncaught TypeError: Cannot call method 'showWebPage' of undefined

4

3 回答 3

0

我能够通过使用以下代码解决此错误:

try {
var cb = new ChildBrowser();
console.log(cb);
cb.showWebPage('http://www.google.com');
}catch (err){
console.log(err);
}

虽然这导致了另一个错误:

PhoneGap Build + Cordova + ChildBrowser 错误

如果您没有收到任何错误并且此解决方案有效 - 请告诉我!

于 2012-04-25T03:10:11.853 回答
0

关于 1.4.1 与 1.6.1:

请注意,我的 phonegap-plugins github 存储库是我在互联网时间“冻结”的,以允许继续使用带有那个时代插件的 phonegap 1.4.1。

前进到cordova 1.6.1+,您需要继续使用官方非官方插件

https://github.com/phonegap/phonegap-plugins

注意:这些插件可能会更新,也可能不会与 cordova 1.6.1 一起使用。请阅读他们个人的 README 和 phonegap 工程师的以下博客:

http://simonmacdonald.blogspot.com/2012/04/migrating-your-phonegap-plugins-to.html

总结:从 1.4.1 迁移到 1.6.1+ 并使用 phonegap 插件需要一些警惕,因为这两个版本之间有很多内部变化。

于 2012-04-24T15:52:27.490 回答
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。

于 2012-04-28T06:58:17.153 回答