你是什么意思它改变了URL?它是否尝试访问url http://www.example.com/id=123&place=123
?还是它仍然尝试访问http://www.example.com/id=123&place=123
?当我尝试你的榜样指向localhost
,而不是example.com
,和Safari 5的记录请求,我得到的符号&
,不&
$ nc -l 4242
GET /?id=123&place=123 HTTP/1.1
Host: localhost:4242
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-us) AppleWebKit/533.17.8 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Referer: http://livedom.validator.nu/blank.html
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive
注意的是,在你的源URL中使用&
实际上是正确的方法写它;如果您编写&
,浏览器将尝试将以下文本解释为实体。如果它找不到匹配的实体,那么它会假设您错误地使用了原始的&
并将使用该实体,但您需要小心,因为您可能意外地形成实体而不是您请求的实际&符号。所以,为了避免可能的错误,你应该在你的代码中写入&
。如果您正在检查或序列化DOM,例如通过innerHTML
,Safari可能会重写URL以便您正确使用&
,以避免此类错误。
你从哪里看到这个改变? – ngroot 2010-09-16 17:47:43
你*必须*有'&地方',或者它只是无效的HTML。浏览器将解析'&',并在将其用作URL之前将其转换为属性值中的正常和号。 – bobince 2010-09-16 18:07:56
@bobince是的。有时候我忘了HTML与XML没有太大区别。韩国社交协会。 – manoelhc 2010-09-16 20:16:19