在重定向JavaScript时从URL中删除#
Remove # from URL on Redirect JavaScript
我目前有一个有趣的问题。我使用Facebook PHP SDK来验证我网站上的用户。在我的初始请求中,我传递了一个重定向URL,所有工作都如预期的那样,用户被发送回指定的URL。
一旦进入这个页面,我们称之为"中间页面",它们就会被重定向到我的第二个页面,我们将其称为"主页"。在这里,人们可能会注意到一个有趣的#_=_
被附加到URL。这个问题在这里讨论:Facebook回调追加'#_=_';返回URL。
我已经在那个页面上实现了JavaScript解决方案;然而,一个问题仍然存在。URL的实际哈希部分仍然存在,即使奇怪的下划线字符已经消失。所以,这不是一个大问题,URL现在是./home#
。
我已经研究了一些解决这个问题的方法:如何在不刷新页面的情况下使用JavaScript从window.location中删除哈希?。
然而,显然这些解决方案需要页面刷新才能工作。显然,这不是最有效和用户友好的方法。
现在,我想,既然我是,一旦我的用户返回到我的"中间页",再次将他们重定向到我的‘主页’,操作的刷新部分就可以以某种方式跳过。不过我可能完全错了。
因此,总结一下:有没有一种方法可以删除URL的剩余哈希部分,而不必重新加载我的"中间页",而是在我重定向到"主页"后删除它?
编辑:我通过PHP重定向用户,使用:header('Location: ./home');
。
这在所有使用javascript的浏览器中都是不可能的,因为我过去曾尝试过这样做。然而,你可以使用HTML5来实现同样的事情,这使用HTML5历史API
function deleteHash(){
// Remove the hash by rewriting URL without it.
history.pushState("",document.title,window.location.pathname + window.location.search);
}
相关文章:
- 谷歌应用脚本中的 UrlFetchApp.fetch 删除 url 参数
- JavaScript删除URL数组中字符之前的所有内容
- 通过javascript从浏览器历史记录中删除URL
- 删除 URL 哈希字符串中的前几个字符
- 带有 MVC asp.net 角度路由删除 URL 上的哈希 #
- 如何使用 JavaScript 删除 URL 的一部分
- 删除 URL 中的锚点
- 使用 jQuery 和 push State 从 URL 中删除 URL 参数
- 如何使用 jQuery 从 URL 中删除 URL 的一部分
- jQuery 验证插件 - 删除 URL 的“http://”要求
- JS/HTML5 从 url 中删除 url 参数
- 使用 jquery 更改 URL 参数或删除 URL 的某些部分
- 删除 URL 查询字符串中的加号 (+)
- 正在删除URL参数
- 删除URL开头的字符串
- 无法使用Chrome'删除URL;的历史API
- Jquery-清除或删除URL参数
- 删除url的搜索部分
- 我如何在Js中删除Url中的所有目标
- 使用JavaScript删除URL的参数