11
<!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 のサファリでうまく機能します。

しかし、「+」->「ホーム画面に追加」をタップして「ページに移動」を押すと、ウィンドウが開かず、同じ画面にページが読み込まれます。

javascriptによって、新しいウィンドウをスタンドアロンモードで強制的に開く方法は?

4

4 に答える 4

1

以下の質問では、投票数の多かった回答の中から考えられる JavaScript ソリューションについて言及しています。これは、アンカー要素を構築し、その上で「クリック」イベントをディスパッチします。

質問: JavaScript を使用して Web アプリからモバイル サファリでリンクを開くように強制する
回答: 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') がモバイル Safari でリンクを開かない

于 2012-06-26T13:27:13.793 に答える
0

これは私にとってはうまくいきます。html からリクエストした場合は機能せず、JS からのみリクエストします。

window.open('[url]','_system');
于 2013-06-07T14:08:55.120 に答える
-9

ほら!(まだ必要な場合)

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

R.

于 2011-01-17T20:23:57.423 に答える