Arv*_*ind 1 html-encode urlencode
我有一个用例,我将页面焦点设置为特定元素(在它之前有一个锚点).当用户未登录时,会有重定向到登录页面,登录后,用户将被重定向到相关页面,并对URL进行编码.
我看到表单链接#target的URL按预期工作(关注元素),而url编码的链接链接%23target则没有.这是预期的行为吗?
编辑:如果这是预期的行为,是否有工作专注于目标?就像在,围绕url编码的方式?
编辑添加更多信息:
假设有代码
page1.html
... html before the anchor ...
<a name="test">Some code</a>
... html after the anchor ...
Run Code Online (Sandbox Code Playgroud)
我正在以page1.html%23test访问该页面.这与page1.html #test的工作方式不同.是否有一个jQuery方法来实现它?即使在url编码后,location.hash还会包含测试吗?我无法控制更改网址编码.
编辑:
因为我知道在页面被重定向后我想去哪个命名锚,我做了一个
window.location.hash = namedAnchor
Run Code Online (Sandbox Code Playgroud)
解决问题.只有在客户成功登录时才会输出此JS行.解决了我的问题,虽然不是我想要的通用答案.我正在寻找一种避免在url编码中转义#的方法.
是.编码#as%23有效地说"我只是指一个普通的"#"字符,而不是一个URL片段".其他保留字符也是如此:转义它们会阻止它们在URL中具有特殊含义.
在您的情况下,您确实希望在将URL作为参数传递到登录页面时对其进行编码,但是您的登录页面应该在执行重定向之前解码URL.