gpt4 book ai didi

url - XHTML 和 &(与号)的编码

转载 作者:行者123 更新时间:2023-12-01 18:59:30 24 4
gpt4 key购买 nike

我的网站符合 XHTML Transitional 标准除了一件事:URL 中的 &(与号)按原样编写,而不是 &

也就是说,我的页面中的所有URL通常都是这样的:

<a href="http://www.example.org/page.aspx?x=1&y=2">Foo</a>

但是XHTML validator生成此错误:

cannot generate system identifier for general entity "y"

...并且它希望 URL 写成这样:

<a href="http://www.example.org/page.aspx?x=1&amp;y=2">Foo</a>

问题在于 Internet Explorer 和 Firefox 无法正确处理网址并忽略 y 参数。 如何使该链接正常工作并验证?

在我看来,如果浏览器不能使用严格编码的 XHTML URL,则不可能编写 XHTML 页面。

你想看看实际情况吗?查看这两个链接之间的区别(按原样复制并粘贴它们):

http://stackoverflow.com/search?q=ff&sort=newest

http://stackoverflow.com/search?q=ff&amp;sort=newest

最佳答案

我刚刚尝试过这个。您尝试做的事情是正确的。在 HTML 中,如果您正在编写链接 &字符应编码为 &amp;您只需对 & 进行编码如%26如果您希望参数值包含&符号。我刚刚编写了一个简单的 HTML 页面,其中包含一个链接:<a href="Default2.aspx?param1=63&amp;param2=hel">Click me</a>效果很好:default2.aspx收到了预期的参数并且源通过了验证。

&的编码如&amp;在 HTML 中是必需的,而不是在链接中。当浏览器看到&amp;时在链接的 HTML 源代码中,它会将其解释为 & 符号,并且链接目标将按预期进行。如果您将 URL 粘贴到浏览器地址栏中,它不会期望它是 HTML,也不会尝试解释它可能包含的任何 HTML 编码。这就是为什么您建议我们复制/粘贴到浏览器中的示例链接不起作用,也是我们不希望它们起作用的原因。

如果您发布更多的实际代码,我们也许能够看到您做错了什么,但您似乎通过使用 &amp; 朝着正确的方向前进。在你的 anchor 标签中。

关于url - XHTML 和 &(与号)的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/275150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com