0

ウィンドウを開くリンクがありますがwindow.open("mytest.aspx");、問題は、ポップアップウィンドウを閉じるときに、親ページでそのリンクを非表示にする必要があることです。基本的に、 window.open() で開かれたポップアップから、親ページのリンク (アンカー) を非表示にするにはどうすればよいですか?

ありがとうございました

4

5 に答える 5

2

リンクの JavaScript コード onclick イベントを試してください:

function OpenPopup()
{
  document.getElementById("linkID").style.visibility='hidden';
  window.open("mytest.aspx");
}
于 2012-06-08T19:28:14.393 に答える
0

あなたはこのようなことを試すことができるかもしれません:

var popup = window.open('mytest.aspx');
popup.onbeforeunload = function(){ 
   document.getElementById("theLink").style.visibility='hidden';   
}

ただし、これはポップアップページが親と同じドメインにあることを前提としていることに注意してください。

于 2012-06-08T22:16:31.133 に答える
0

私は質問を理解できませんでした。次のことができます。

function Popup(){
  parentWindow = this;
  window.open('mytest.aspx');  
}

親ウィンドウに別の機能を持たせる:

function hideLink(){
  $("#linkID").hide()
}

次に、ポップアップの前に次の関数を呼び出します。

parentWindow.hideLink();

以前の回答で申し訳ありません。

于 2012-06-08T19:24:03.320 に答える
0

この同様の投稿を見たいと思うかもしれません-ポップアップクローズを処理する適切な方法

OP と受け入れられた回答はsetInterval、ポップアップをポーリングするために使用されます。閉じたら、「アンカーを非表示」ロジックを実行します。

お役に立てれば!

于 2012-06-08T19:34:47.947 に答える
0

ウィンドウが閉じているときにのみ onunload イベントを使用してリンクを非表示にすることができます。「hr1」はオープナー ページのリンク ID です。

ポップアップしたページで

function CloseOpener(){ 
window.opener.document.getElementById('hr1').style.display='none'; 
} 

そして、同じポップアップページで:

<body onunload="CloseOpener();"> </body>

または、同じページで別のボタンを使用して、終了をトリガーします。

 <input id="Button1" type="button" value="button" onclick="CloseOpener();"/>

私はこれをテストし、インストール済みのブラウザーで動作しますが、このイベントを使用する際に考慮すべき事項がいくつかあります。ここで洞察を得ることができます: onunload が Chrome と safari で機能しない

于 2012-06-08T19:46:42.920 に答える