2016-07-07 2 views
0

10秒後にポップアップメッセージが表示され、「OK」をクリックした後、ユーザーは別のページにリダイレクトされます。私はこれまでこれを持っています。location.hrefを使用したJavascriptのタイムポップアップアラート

if (setTimeout(function() { !alert("my message"); }, 10000)); { 
location.href = "/some/url" 
} 

ページが読み込まれてもメッセージは表示されず、[OK]をクリックしないと右にリダイレクトされます。任意のアイデアは、どのようにこれを動作させるには?

+0

ページが終了し、他のコードが実行されないため、ifがifであるタイムアウトのIDは真実です。待つことはありません。 – epascarello

+0

'setTimeout'は数値を返し、非同期です。 – gcampbell

+0

[window.confirm](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm)メソッド – nem035

答えて

1

これは次のようなものです。

setTimeout(function() { 
    if (window.confirm("Go?")) { 
     location.href = "/some/url"; 
    } 
}, 10000); 
+0

を使用してください。ありがとうございました。 のsetTimeout(関数(){ \t \t(のwindow.alert( "行く?")){ \t \t \t \t LOCATION.HREF = "/いくつか/ URLの" if;! \t \t \t} \t \t} 、 10000); – JayyCodez

+0

@JayyCodez 'if(!window.alert(" Go? "))'ゼロにする – epascarello

0

setTimeoutはタイムアウトのIDを返します。だからあなたはIDが真実であるかどうかをチェックしているだけです。そのコードは、ユーザーがボタンをクリックするまで待機しません。

警告の後にユーザーが大丈夫になるまで待ちたい場合は、警告の後にlocation.href行を配置する必要があります。

window.setTimeout(function() { 
    alert("x"); 
    window.location.href = "https://stackoverflow.com/a/b/c"; 
}, 10000); 
関連する問題