私は何らかの目的で新しいブラウザ ウィンドウを開く必要がある Web アプリケーションに取り組んでいます。これには JavaScript の window.open() メソッドを使用しています。親ウィンドウと子ウィンドウ。これは、すべてのデスクトップおよび Android ブラウザーで正常に動作します。
コード:
<a href="javascript:void(0);" onclick="openWin('url')">
ウィンドウを開くには:
function openWin(url){
myWindow = window.open(url,"myWindow");
myWindow.opener = window;
myWindow.focus();
}
子から親に戻す
window.opener.focus();
再び子に切り替えます
myWindow.focus();
問題は、モバイルサファリ(iPod touch)で使用すると、「このサイトはポップアップウィンドウを開こうとしています」という警告メッセージが表示され、「許可」と「ブロック」オプションが表示されることです。許可をクリックすると、新しいウィンドウが開きますが、window.focus を使用したナビゲーションが機能しません。サファリ ブラウザはそれをフル ブラウザ ウィンドウではなくポップアップ ウィンドウと見なし、作成中にブラウザ オブジェクトを返すことができないためだと思います(myWindow )。
この同じアプリケーションでは、ボタンのクリックで同じコードを使用しています。iPod ではそのような警告メッセージが表示されずに非常にうまく機能しますが、アンカー タグでは機能しません。
事前に感謝します。アニル。