【问题标题】:Browser mis-interpreting '&not' in URL浏览器错误解释 URL 中的“&not”
【发布时间】:2013-01-23 13:27:20
【问题描述】:

显然,如果将包含文本 &not 的 URL 用作字段属性的一部分,许多浏览器会将其解释为 '¬'。所以这个 HTML 代码:

<a href="#" onclick="window.location='http://www.example.com?some_param=1&notify=true';">Click here</a>

将呈现为:

<a href="#" onclick="window.location='http://www.example.com?some_param=1¬ify=true';">Click here</a>

我找到了几个替代方法,将&amp;not 替换为&amp;%6Eot,或者通过发布表单而不是获取参数化URL。但是 POST 并不总是一个受欢迎的替代方案,替代品无疑是一种 hack - 它还需要处理其他常见的令牌,如 &amp;cent&amp;curren&amp;pound&amp;sect&amp;copy&amp;reg ...(列表取自here)。

肯定有人对此有更好的解决方案吗?

【问题讨论】:

    标签: html browser html-parsing


    【解决方案1】:

    元素属性由 HTML 解析器解释,因此您必须将 &amp;amp; 字符转义为 &amp;amp;。即使您不这样做,它也可以在大多数情况下工作,但在某些情况下(例如您的情况),您必须“正确”地进行操作,否则它将无法正常工作。

    【讨论】:

      猜你喜欢
      • 2020-12-17
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 2020-01-21
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多