位置栏没有出现在InAppBrowser for iOS,Cordova中

时间:2013-12-27 14:39:39

标签: javascript ios cordova

我正在尝试使用Cordova在我的iOS应用中加载外部页面。页面加载正常,但我无法显示位置栏。

    <script>
    // Wait for device API libraries to load
    document.addEventListener("deviceready", onDeviceReady, false);

    // device APIs are available
    function onDeviceReady() {
        $("#btn").click(function(){
            var ref = window.open('http://apache.org', '_blank', 'location=yes', 'toolbar=yes');
            ref.addEventListener('loadstart', function(event) { alert('start: ' + event.url); });
            ref.addEventListener('loadstop',  function(event) { alert('stop: '  + event.url); });
            ref.addEventListener('loaderror', function(event) { alert('error: ' + event.message); });
            ref.addEventListener('exit',      function(event) { alert(            event.type); });
        });
    }

</script>

<button id="btn">trigger</button>

我无法弄清楚为什么位置栏不会加载。

我也在每个本地存储的页面上附加一个导航栏和页脚,但是附加到任何带有“data-role = page”的容器,并且效果很好,但显然它在这个实例中不起作用。我需要通过外部页面找到另一个。

我真的只是在寻找位置栏和按钮,以便在用户关闭页面时我可以导航回我的应用程序。

任何帮助将不胜感激。我正在使用Cordova 3.3.0

1 个答案:

答案 0 :(得分:1)

我认为window.open调用中的option参数需要是逗号分隔的字符串,而不是用逗号分隔的字符串。

此:

var ref = window.open('http://apache.org', '_blank', 'location=yes', 'toolbar=yes');

应该是:

var ref = window.open('http://apache.org', '_blank', 'location=yes,toolbar=yes');

根据documentation for 3.3.0

  

选项字符串不得包含任何空格,并且每个要素的名称/值对必须用逗号分隔。功能名称不区分大小写。 ...