我需要创建一个指向包含字符#
(%23
)的网页的链接。但是,当URL被解码(导致包含#
的URL)时,无法识别该字符并且页面显示不正确。
当我按如下方式创建链接时,%23
只会被#
取代。这可能是浏览器的行为,但是如何阻止它并使用仍然URL编码的字符串到达正确的URL?如果可能的话,我宁愿不使用JavaScript。
<a href="http://aWebsite.com/somePath/somePage %23myParameter">click</a>
浏览器转到:http://aWebsite.com/somePath/somePage #myParameter
我想去:http://aWebsite.com/somePath/somePage %23myParameter
答案 0 :(得分:2)
听起来你需要再次编码。 &#34;%&#34;将成为&#34;%25&#34;所以你有:
<a href="http://aWebsite.com/somePath/somePage %2523myParameter">click</a>
修改强> 如果你想要&#34;#&#34;要作为URL的一部分发送到服务器,那么它将不起作用。浏览器将其视为书签,以便从请求的URL中删除它。加载页面后,浏览器将滚动到该书签。
答案 1 :(得分:0)
你需要对它进行编码:
http://example.com/somePath/somePage %2523myParameter
%25
将在最终网址<{1}}中解析