代码之家  ›  专栏  ›  技术社区  ›  Demat

创建不会被URL解码的HTML链接

  •  1
  • Demat  · 技术社区  · 9 年前

    我需要创建一个指向包含该角色的网页的链接 # ( %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

    2 回复  |  直到 9 年前
        1
  •  2
  •   David    9 年前

    听起来你需要对它进行第二次编码。“%”将变为“%25”,因此您可以:

    <a href="http://aWebsite.com/somePath/somePage %2523myParameter">click</a>
    

    编辑: 如果您希望将“#”作为URL的一部分发送到服务器,那么它将无法工作。浏览器将其视为书签,因此将其从请求的URL中删除。加载页面后,浏览器将滚动到该书签。

        2
  •  0
  •   Ferrybig    9 年前

    你需要加倍编码:

    http://example.com/somePath/somePage %2523myParameter
    

    %25 将在中解决 % 在最后的url中