4

私は何らかの目的で新しいブラウザ ウィンドウを開く必要がある 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 ではそのような警告メッセージが表示されずに非常にうまく機能しますが、アンカー タグでは機能しません。

事前に感謝します。アニル。

4

1 に答える 1