在定位类中的所有HREF标记时,ChildBrowser会崩溃

时间:2013-01-30 00:10:57

标签: javascript cordova childbrowser

我一直在我的代码上愉快地使用ChildBrowser而没有通过以下函数出现问题:

var app = {
    ready: false,
    initialize: function() {
        this.bind();
    },
    bind: function() {
        document.addEventListener('deviceready', this.deviceready, false);
    },
    deviceready: function() {
        app.report('deviceready');
        app.report('Installing child browser');
        app.ready = true;
        //ChildBorwser init
        cb = ChildBrowser.install();
    },
    report: function(id) { 
    console.log("report:" + id);
    }
};

var layout = {
    showUrl: function(url) {
        if(app.ready == true){
            window.plugins.childBrowser.showWebPage(url);
            event.preventDefault();
            event.stopImmediatePropagation();
            return false;
        }
        else { document.location.href = url; return false; }
    },
}

但是当我尝试在我的javascript'layout'对象之外调用该函数时,我收到Xcode错误,如下所示:

$('.text a').on('click', function(e) { 
    e.preventDefault();
    var thisUrl = $('.text a').attr('href'); 
    layout.showUrl(thisUrl);
});

我在模拟器和设备中得到的Xcode错误是:

*由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'应用程序尝试以模态方式呈现活动控制器。 * 第一次抛出调用堆栈: (0x167012 0x25a0e7e 0x48b721 0x48c777 0x48c7b7 0x35fd 0x6d914 0x6d147 0x6cd2d 0x6ce96 0x6cdd3 0x25b46b0 0x113c035 0xeaf3f 0xea96f 0x10d734 0x10cf44 0x10ce1b 0x33d17e3 0x33d1668 0x3a265c 0x283c 0x2795) libc ++ abi.dylib:terminate调用抛出异常。

1 个答案:

答案 0 :(得分:0)

<script src="cordova.js"></script>
<script charset="utf-8" src="Plugins/Child Browser/childbrowser.js"></script>

function onDeviceReady() {
    window.plugins.childBrowser.showWebPage("http://www.google.com");
}

看到这个: https://github.com/Icenium/sample-childbrowser/tree/master/sample-childbrowser