パラメータ「access_token」を使用して、ブラウザを別のサーバーにリダイレクトするサイトをリンクしました。例:
http://somedomain.com/blank.html#access_token=sadf2342dsdfsd
ページが他のサーバーにリダイレクトされる前に、URLからこのパラメーターを取得するにはどうすればよいですか?
パラメータ「access_token」を使用して、ブラウザを別のサーバーにリダイレクトするサイトをリンクしました。例:
http://somedomain.com/blank.html#access_token=sadf2342dsdfsd
ページが他のサーバーにリダイレクトされる前に、URLからこのパラメーターを取得するにはどうすればよいですか?
私はあなたの質問をはっきりと理解していません。URLからaccess_tokenパラメーターを取得する方法についていくつかの提案がありますが。
URLがわかっている場合は、文字列を展開してaccess_tokenを取得できます。次のようになります。
echo end( explode('#', 'http://somedomain.com/blank.html#access_token=sadf2342dsdfsd'));
サイトに直接アクセスしている場合は、javascriptを使用してハッシュを取得できます。
document.location.hash.substr(1)
Webサイトを離れた後、クライアントブラウザのアドレスバーにアクセスしようとしていると思いますか?
iframe
でサイトを開き、 javascriptを使用して子フレームにアクセスしない限り、これは不可能です。
リンクのターゲットを変更することで、これを簡単に行うことができます。
これを変える:
<a href="http://thewebsite.com/">Go to website</a>
これに:
<iframe name="tokenFrame" id="tokenFrame" width=1 height=1 frameborder=0> </iframe>
<a href="http://thewebsite.com/" target="tokenFrame">Don't go to website</a>
次に、JavaScriptで、ページがトークンのあるページに変更された後、次のようになります。
var url = document.getElementById("tokenFrame").src
または、場所を取得するのに似たものなど
var frame = document.getElementById("tokenFrame");
var url = frame.top.location.href;
または
var url = top.tokenFrame.location.href;
最後にURLを解析して値を取得します
javascriptでは、このようにその値を取得できます
window.location.hash.replace('#access_token=','')