我目前正在我的应用程序中实现facebook登录,在用户成功授权他或她的帐户之后,它将返回到我的Web服务器中的动作类,并且就此而言。
这是一个例子
1)用facebook点击用户点击 2)他或她将被重定向到这个facebook授权页面 2)一旦他或她被授权,该页面将被重定向到struts2动作类。 所以网址看起来像这样
http://127.0.0.1:8080/MyApp-Facebook/oAuthExchange?code=SomeLongFacebookCodHere#_=_
如果您看到oAuthExchange的结尾URL有#_=_
。
然后它将被重定向到我的应用程序的仪表板页面,页面网址将如下所示
http://127.0.0.1:8080/Struts2-Facebook/dashboard#_=_
如果您发现我的网址中有"#_=_"
。无论如何,当我进行重定向时,我可以删除"#_=_"
吗?
我也在使用Facebook4j用于facebook图谱API
答案 0 :(得分:2)
您可以使用history.pushState()
在符合HTML5的浏览器中直接从结果页面中删除它。
假设#_=_
已修复(否则您需要执行动态substring
indexOf
寻找#
),
把它放在你的页面中:
<script>
//4 is the lenght of #_=_
var cleanLocation = location.href.substring(0, location.href - 4);
history.pushState("","", cleanLocation);
</script>