2016-07-29 5 views
0

なぜ重複しないのですか?以前の投稿で質問に答えられませんでした。ページリダイレクト後にsetTimeOut()を実行できますか?

私はクリックすると、ボタンを含むポップアップをトリガする削除リンクがあります。そのボタンをクリックすると、ポップアップ内のページが新しい内部ページにリダイレクトされます。私が達成したいのは、リダイレクトが起こってから1秒後にポップアップが閉じなければならないということです。私はボタンがクリックされたときに機能を適用しました。これは "ポップアップリダイレクト"の前にのみ利用可能です。

$('.page-user-cancel .btn').click(function(e) { 
    window.onunload = refreshParent; 
    setTimeout(function(){ 
     function refreshParent() { 
     window.opener.location.reload(); 
     window.close(); 
     } 
    } , 1000); 
}); 

明確でない場合は、コメントしてください。英語は母国語ではありません。

EDIT

それが不可能な場合は、それが(リダイレクト後の)新しいページ上のdivがロードされるときに、関数をトリガすることは可能でしょうか?

UPDATE

これが動作していません。

var dival = $('.inside .alert').length; 
if (dival > 0){ 
    window.onunload = refreshParent; 
    function refreshParent() { 
     window.opener.location.reload(); 
     window.close(); 
     } 
} 
else{} 

それが唯一のさわやか後、動作します。

取得済み:refreshParentの関数呼び出しを削除しなければならなかった。ベストプラクティスではないかもしれませんが、そのように働いています。

+1

親を介して閉じるのではなく、ポップアップ内のリダイレクトされたページを閉じることが良いでしょう。これは、 'window.close()'で行うことができます。 – Utkanos

+0

どういうわけか私は新しいページにアクセスすることができません。urlは動的に変更されます。 –

答えて

0

ページを再読み込みしても、前のページのJavaScriptが実行されないため、最初の部分は実行できません。

2番目の部分が優れています。はい、ページの読み込みを処理できます。

$(document).ready(function() { 
    // Check your div here 
}); 
+0

私はこれを先に試しましたが、タイムアウト機能を尊重せずに実行されます。 –

+0

divを確認するにはどうすればよいですか?私はdiv要素にload()を使用することはできないことを読んだ。 –

+0

'$( 'div#id-of-div').dif'が存在する場合は長さ> 0' –

関連する問題