相关疑难解决方法(0)

为什么"&reg"在没有边界分号的情况下呈现为"®"

我一直在遇到一个问题,这个问题是通过谷歌adwords推动的营销活动揭示出来的.使用的标准参数之一是"区域".当用户搜索并点击赞助商链接时,Google会生成一个长URL来跟踪点击,并在引荐来源中发送大量内容.我们捕获了这些记录,我们注意到"Region"参数输入错误.应该是什么

http://ravercats.com/meow?foo=bar&region=catnip
Run Code Online (Sandbox Code Playgroud)

而是通过以下方式:

http://ravercats.com/meow?foo=bar®ion=catnip
Run Code Online (Sandbox Code Playgroud)

我已经证实这种情况发生在所有浏览器中.我的理解是HTML实体语法定义如下:

&VALUE;
Run Code Online (Sandbox Code Playgroud)

其中前导边界是&符号,闭合边界是分号.看起来很简单.问题是,这个实体并没有得到尊重,而且它在整个系统中造成了各种各样的破坏.

有谁知道为什么会这样?这是DTD中的错误吗?(我正在寻找当前的HTML DTD以确定我是否可以理解它)我正在试图找出跨浏览器的常见情况,以便实现这一点,因此我在寻找DTD.

这是您可以使用的证明.获取此代码,从中制作HTML文件并在浏览器中呈现它:

<html>
<a href="http://foo.com/bar?foo=bar&region=US&register=lowpass&reg_test=fail&trademark=correct">http://foo.com/bar?foo=bar&region=US&register=lowpass&reg_test=fail&trademark=correct</a>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑:对于那些建议我需要转义整个网址的人来说,上面的示例网址就是这样的例子.真正的网址直接来自Google,我无法控制它的构建方式.这些建议虽然有效,却没有回答这个问题:"为什么会这样?"

html query-string

47
推荐指数
4
解决办法
5万
查看次数

标签 统计

html ×1

query-string ×1