如何在iphone的独立(全屏)模式下打开一个新窗口

时间:2010-11-18 12:22:13

标签: javascript web-applications mobile-safari iphone iphone-standalone-web-app

<!doctype html>
<html>
<head>
<title>page</title>
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<meta name="apple-mobile-web-app-capable" content="yes" />

<meta name="apple-mobile-web-app-status-bar-style" content="black" />
</head>
<body>
<script>
function goToPage() {
    var pageUrl = 'http://www.google.com/';
    window.open(pageUrl);
}
</script>
<div id="installBtn" onclick="goToPage()">go to page</div>
</body>
</html>

预期的操作是:触摸div时,会打开一个新窗口。 这段代码在iPhone的Safari中很有用。

但是当我点击“+” - &gt; “添加到主屏幕”,然后按“转到页面”,不打开任何窗口,并在同一屏幕中加载页面。

如何强制通过javascript ,在独立模式下打开一个新窗口?

4 个答案:

答案 0 :(得分:1)

下面的问题确实提到了顶级投票答案中可能的JavaScript解决方案,它构造了锚元素并在其上发送了“click”事件。

问题:Force link to open in mobile safari from a web app with javascript
答案:https://stackoverflow.com/a/8833025/1441046

或者,如果您可以使用锚元素(我知道您在JavaScript中询问了如何使用它),您可以执行以下操作:

<a id="installBtn" href="http://www.google.com/" target="_blank">go to page</a>

其他相关问题:

iPhone window.open(url, '_blank') does not open links in mobile Safari

答案 1 :(得分:0)

这对我有用。从html请求它时不起作用,只能从JS。

window.open('[url]','_system');

答案 2 :(得分:0)

您可以使用childbrowser以独立模式打开

或者你可以使用这个

window.location = url(your Url);

答案 3 :(得分:-9)

你去吧! (如果你还需要它)

<script>
    if(window.navigator.standalone === true) 
     document.write('Standalone');
    else
     document.write('Web browser');
</script>

R上。