2012-04-14 106 views
-4

我已经通过参数“access_token” 将一个重定向浏览器的站点链接到另一个服务器,例如,使用Javascript或PHP获取URL参数?

http://somedomain.com/blank.html#access_token=sadf2342dsdfsd

我怎样才能从URL该参数的页面将被重定向到另一个服务器之前?

+1

@GabrielSantos其20%:) – Ozzy 2012-04-14 22:45:07

+0

好!堆栈溢出成为一个更好的地方,总是接受解决你的问题的答案。这有助于那些寻找类似于您所要求解决问题的人。 – 2012-04-14 22:47:18

回答

1

我想你试图访问客户浏览器的地址栏后,它已经离开你的网站?

这是不可能的,除非您在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现在来获取值

1

我不清楚你的问题。尽管我对从URL获取access_token参数的方式提出了一些建议。

前提是你知道的网址,你可以爆炸的串并获得..的access_token它可能是这个样子:

echo end(explode('#', 'http://somedomain.com/blank.html#access_token=sadf2342dsdfsd')); 

如果您是直接在网站上,你可以使用JavaScript来获得哈希:

document.location.hash.substr(1) 
+0

所以如果我在http://somedomain.com/blank.html#access_token=sadf2342dsdfsd我应该粘贴这个document.location.hash.substr(1)?在我的网站上我重定向? – iStark 2012-04-14 22:34:06

+0

我不明白你要去哪里,对不起。是somedomain.com/blank.html#access_token=sadf2342dsdfsd您的网站,您可以访问blank.html?如果是这样,你应该只是在blank.html文件中的js代码。也许与document.write: hskrijelj 2012-04-14 23:27:36

0

在javascript中你可以抓住它的价值这样

window.location.hash.replace('#access_token=','')