【问题标题】:What is &amp used for&amp 是做什么用的
【发布时间】:2012-02-23 10:46:57
【问题描述】:

以下网址的行为有什么不同。

不知道为什么要插入&,有什么区别吗?

www.testurl.com/test?param1=test&current=true

www.testurl.com/test?param1=test&current=true

【问题讨论】:

  • 你能给出一个上下文吗?这是表单动作吗?只是显示在页面上?
  • @user470184 我没有投反对票,但考虑过。关于这个问题,已经有大量关于 SO 的信息。
  • “通用行为”仍然很模糊。你想知道<p>www.testurl.com/test?param1=test&current=true</p><a href="www.testurl.com/test?param1=test&current=true">linky</a> 之类的东西吗?
  • @jprofitt linky

标签: forms html


【解决方案1】:

这是一个很好的例子。当&current 被解析到一个文本节点 时,它被转换为¤t解析成属性值时,解析为&current

如果您想在文本节点中使用&current,则应在标记中写入&current

血淋淋的细节在HTML5 parsing spec - Named Character Reference State

【讨论】:

    【解决方案2】:

    HTML 无法识别 &,但它会识别 &,因为它等于 HTML 中的 &

    我查看了某人发的这篇帖子:http://www.webmasterworld.com/forum21/8851.htm

    【讨论】:

      【解决方案3】:

      如果你正在做一个字符串。 制作:

      let linkGoogle = 'https://www.google.com/maps/dir/?api=1'; 
      let origin = '&origin=' + locations[0][1] + ',' + locations[0][2];
      
      
      aNav.href = linkGoogle + origin;
      

      【讨论】:

      • 问题是关于 HTML 中的 &amp,而不是 URL 中的 &
      【解决方案4】:

      我的来源:http://htmlhelp.com/tools/validator/problems.html#amp

      另一个常见错误是在包含一个包含 和号(“&”):

      这是无效的:

      a href="foo.cgi?chapter=1&section=2&copy=3&lang=en"

      解释:

      此示例为“未知实体部分”生成错误,因为 假定"&" 开始实体引用。浏览器经常 从这种错误中安全地恢复,但真正的问题确实发生在 一些案例。在这个例子中,许多浏览器正确地转换 &copy=3 到©=3,这可能会导致链接失败。因为

      因此,这里的目标是避免在您尝试验证您的网站时出现问题。因此,在标记中编写 URL 时,您应该用 & 替换与符号。

      请注意,将& 替换为&仅在写入 URL 时完成 HTML,其中"&" 是一个特殊字符(与“”一起)。什么时候 在纯文本电子邮件或位置中写入相同的 URL 您的浏览器栏,您将使用"&" 而不是"&"。使用 HTML, 浏览器将"&" 转换为"&",因此Web 服务器只会看到"&" 而不是 "&" 在请求的查询字符串中。

      希望这会有所帮助:)

      【讨论】:

        【解决方案5】:

        & 是 HTML 的“字符引用开始”。

        & 是“与号”的字符引用。

        &current; 不是标准字符引用,因此是错误(浏览器可能会尝试执行错误恢复,但您不应依赖此)。

        如果您将字符引用用于真实字符(例如 ™),那么它 (™) 将出现在 URL 中,而不是您想要的字符串中。

        (请注意,根据您使用的 HTML 版本,您可能必须以 ; 结束字符引用,这就是为什么 &trade= 将被视为 ™。HTML 4 允许省略它,如果下一个字符是非单词字符(例如 =),但某些浏览器(Hello Internet Explorer)对此有问题)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-04-30
          • 1970-01-01
          • 1970-01-01
          • 2021-05-29
          • 2011-08-24
          • 2023-04-03
          • 2014-03-04
          • 2012-05-19
          相关资源
          最近更新 更多