2017-01-18 66 views
0

私はノードアプリケーションを持っています。 URLが次のようなものだとしましょう:ブラウザが更新された場合、URLを変更します

http://www.testurl.com/?access_token=1234このURLはSpotifyによって生成され、そのAPIを使用するためにはaccess_tokeが必要です。

ユーザーがページを更新する場合にのみ、URLの最後の部分を削除するURLを指定し、http://www.testurl.comをロードします。ユーザーが再び自分自身を認証する必要があるように、ページの更新時にのみ発生することが重要です。

I have tried these js solutionsですが、いずれも機能しません。私は彼らが受け入れられた答えがなかったので、元のポスターのために働かなかったと思う。

detect browser refresh using phpが可能であることがわかりました。 nodeを使用して等価物を検出することができるかどうか知っていますか?

PHPソリューションは、私もどちらか動作しませんでした以下を、試してみました。この

$pageWasRefreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0'; 

のように見えます。

window.onbeforeunload = function(event){ 
    window.location.href = 'http://www.google.com'; 
}; 

答えて

0

ページロード時にURLからページを削除するだけで、ページが最新表示されなくなるのはなぜですか。それはそれはあなたがやろうとしているが、これらのHTTPヘッダーがrequest.headersオブジェクトにアクセスすることにより、内部ノードをチェックすることが可能であるものは何でも解決する最善の方法だ場合

history.replaceState(null, '', location.pathname); 
0

は知ってはいけません。ここではサンプルコードです:

const http = require('http'); 
 
const url = require('url'); 
 

 
http.createServer(function(req, res) { 
 
\t res.writeHead(200, { 
 
\t \t 'Content-Type': 'text/html' 
 
\t }); 
 

 
\t // Home controller 
 
\t if(url.parse(req.url).path === "/") { 
 

 
\t \t if(req.headers["cache-control"] && req.headers["cache-control"] === "max-age=0") { 
 
\t \t \t console.log("User refreshed"); 
 
\t \t } else { 
 
\t \t \t console.log("User did not refresh"); 
 
\t \t } 
 

 
\t \t res.end("<h1>Hello there!</h1>"); 
 
\t } else { 
 
\t \t res.statsCode = 404; 
 
\t \t res.end("Not found"); 
 
\t } 
 

 
}).listen(3000);

関連する問題