我有一个用例,我将页面焦点设置为特定元素(之前有一个锚点)。当用户未登录时,会重定向到登录页面,登录后,用户会重定向到相关页面,并带有编码的 URL。
我看到链接#target 形式的 URL 按预期工作(专注于元素),而 url 编码的链接 link%23target 没有。这是预期的行为吗?
编辑:如果这是预期的行为,是否有解决方法可以专注于目标?如,一种解决 url 编码的方法?
编辑添加更多信息:
假设有代码
page1.html
... html before the anchor ...
<a name="test">Some code</a>
... html after the anchor ...
我正在以 page1.html%23test 的身份访问该页面。这与 page1.html#test 的工作方式不同。有没有一个jQuery方法来实现这个?即使在 url 编码之后,location.hash 是否会包含测试?我无法控制更改 url 编码。
编辑:
因为我知道在页面被重定向后我想去哪个命名的锚点,所以我做了一个
window.location.hash = namedAnchor
解决问题。仅当客户成功登录时才会输出此 JS 行。解决了我的问题,尽管不是我正在寻找的通用答案。我正在寻找一种避免在 url 编码中转义 # 的方法。