创建一个不会被 URL 解码的 HTML link
Creating an HTML link that will not be URL decoded
我需要创建一个 link 到包含字符 #
(%23
) 的网页。但是,当 URL 被解码时(导致 URL 包含 #
),字符无法识别并且页面无法正常显示。
当我按如下方式创建 link 时,%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
听起来你需要对它进行第二次编码。 “%”将变为“%25”,因此您将拥有:
<a href="http://aWebsite.com/somePath/somePage %2523myParameter">click</a>
编辑:
如果您希望将“#”作为 URL 的一部分发送到服务器,那么它是行不通的。浏览器将其视为书签,因此将其从请求的 URL 中删除。加载页面后,浏览器将滚动到该书签。
您需要对其进行双重编码:
http://example.com/somePath/somePage %2523myParameter
%25
将在 %
中最终解决 url
我需要创建一个 link 到包含字符 #
(%23
) 的网页。但是,当 URL 被解码时(导致 URL 包含 #
),字符无法识别并且页面无法正常显示。
当我按如下方式创建 link 时,%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
听起来你需要对它进行第二次编码。 “%”将变为“%25”,因此您将拥有:
<a href="http://aWebsite.com/somePath/somePage %2523myParameter">click</a>
编辑: 如果您希望将“#”作为 URL 的一部分发送到服务器,那么它是行不通的。浏览器将其视为书签,因此将其从请求的 URL 中删除。加载页面后,浏览器将滚动到该书签。
您需要对其进行双重编码:
http://example.com/somePath/somePage %2523myParameter
%25
将在 %
中最终解决 url