位置栏未出现在 InAppBrowser for iOS、Cordova 中

Posted

技术标签:

【中文标题】位置栏未出现在 InAppBrowser for iOS、Cordova 中【英文标题】:location bar not appearing in InAppBrowser for iOS, Cordova 【发布时间】:2013-12-27 14:39:39 【问题描述】:

我正在尝试使用 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】:

我认为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:

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

【讨论】:

哇,说说令人困惑的语法吧?感谢您澄清这一点!

以上是关于位置栏未出现在 InAppBrowser for iOS、Cordova 中的主要内容,如果未能解决你的问题,请参考以下文章

phonegap Inappbrowser 不显示位置栏(ios)

Bootstrap 导航栏未正确定位内部的某些元素

菜单栏未显示在第二个窗口上

搜索栏子视图不起作用,搜索栏未调用 UITextField 委托方法

InAppBrowser Cordova IOS 弃用警告

Cordova InAppBrowser立即关闭iOS 13