0

Safari ではなく、iPhone スタンドアロン Web アプリでリンクを Web アプリ内で開くようにしようとしています。

このスレッドiPhone Safari Web App opens links in new window を見つけたので、とても助かりました。私はrmarscherによる答えを使用しました

<script>(function(a,b,c){if(c in b&&b[c]){var d,e=a.location,f=/^(a|html)$/i;a.addEventListener("click",function(a){d=a.target;while(!f.test(d.nodeName))d=d.parentNode;"href"in d&&(d.href.indexOf("http")||~d.href.indexOf(e.host))&&(a.preventDefault(),e.href=d.href)},!1)}})(document,window.navigator,"standalone")</script>

私が抱えている問題は、アプリが javascript:history.go(-1) とのリンクを使用する場合です。history.go(-1) をクリックした後にリンクをクリックすると、Web アプリではなくサファリで開きます。

誰かがコードを見て、この問題の解決策があるかどうかを確認できますか?

4

1 に答える 1

0

残念ながら、Web アプリが「アプリ モード」で使用されていて、ホームページからアクセスされていて、デフォルトの Apple ナビゲーション バーがない場合、JavaScript 履歴 API は機能しません。「直接リンク」を使用して、実際のページにリンクする必要があります。あなたが持っているスクリプトは、誰かがあなたのサイトのリンクを「アプリモード」で「外部」サイトではなくクリックしたときに、iOS が「アプリモード」のままリンクを開くようにしています。

「アプリモード」は「スタンドアロンモード」とも呼ばれます。

于 2012-04-03T23:04:12.237 に答える