【问题标题】:Prevent iPhones webkit from opening a new browser window (and thus exiting fullscreen) when clicking an `rel="external"` link单击“rel="external"”链接时,防止 iPhone webkit 打开新的浏览器窗口(从而退出全屏)
【发布时间】:2012-01-10 12:05:38
【问题描述】:

从我的主屏幕打开我的移动网页(将其添加到我的主屏幕后),它以全屏模式启动,到目前为止一切顺利。

登录(表单/提交按钮)后,“应用”仍处于全屏模式,这也是想要的结果。

现在,当我单击具有rel="external" 属性的链接时,webkit 会在 Safari 中打开一个新窗口,因此它会退出我从主屏幕启动的全屏“应用程序”,我希望它保持全屏模式。

data-ajax="false" 有相同的结果。删除 data-ajax="false"rel="external" 不会退出全屏模式,但这样您就无法链接到多页文档(1 个文档与不同的 data-role="page")。

有没有人有同样的问题,甚至更好的解决方案?

我并不真正关心转换,我只是希望网页保持全屏模式,(用户必须在新窗口打开时再次登录)。

iPhone 3gs M_webkit / 5.0.2

【问题讨论】:

  • 我以不同的方式解决了它。我从所有链接中删除了rel="external"。它不会再退出全屏模式(在 iPhone 上),但是这在 Firefox 3.6 中不起作用(旧的,我知道,用于测试)。在 Firefox 3.6 中,地址栏中的链接会变得非常混乱,因此单击后退按钮将无法正常工作。 Google Chrome 16.0.912.63 和 Safari 5.1.1 和 iPhone 的 3gs webkit 不会有这个问题。我没有在其他(移动)浏览器上测试过这个。

标签: iphone html jquery-mobile webkit


【解决方案1】:

为什么不创建一个脚本来提取 href 并通过 javascript 转到新的 url。

如果你使用 jQuery,它就像这样简单:

$("a[rel='external']").bind("click",
    function() {
        if (this.href) {
            location.href = this.href;
            return false;
        }
});

如果没有 jquery,您将需要使用对象检测并在上面的匿名函数中使用相同的逻辑附加一个点击事件。

【讨论】:

    猜你喜欢
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 2013-08-10
    • 2011-02-27
    • 1970-01-01
    • 2012-05-30
    相关资源
    最近更新 更多