Safari 5 HTML Iframe无法与URL+;Params

Safari 5 HTML Iframe无法与URL+;Params,html,url,iframe,safari,Html,Url,Iframe,Safari,我在IFRAME中有一个URL,其参数如下: <iframe src="http://www.example.com/id=123&place=123"></iframe> 在FF3+、IE6+(相信我)和Safari 4上都能完美工作,但在Safari 5中则不同。S5将URL更改为&place=123 有人知道我该如何解决这个头痛问题吗 tks.更改URL是什么意思?它是否尝试访问urlhttp://www.example.com/id=123&a

我在IFRAME中有一个URL,其参数如下:

<iframe src="http://www.example.com/id=123&place=123"></iframe>

在FF3+、IE6+(相信我)和Safari 4上都能完美工作,但在Safari 5中则不同。S5将URL更改为&place=123

有人知道我该如何解决这个头痛问题吗


tks.

更改URL是什么意思?它是否尝试访问url
http://www.example.com/id=123&地点=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 $nc-l 4242 获取/?id=123&place=123 HTTP/1.1 主机:localhost:4242 用户代理:Mozilla/5.0(Macintosh;U;英特尔Mac OS X 10_5_8;en-us)AppleWebKit/533.17.8(KHTML,类似Gecko)版本/5.0.1 Safari/533.17.8 接受:application/xml、application/xhtml+xml、text/html;q=0.9,文本/普通;q=0.8,图像/png,*/*;q=0.5 推荐人:http://livedom.validator.nu/blank.html 接受语言:en us 接受编码:gzip,deflate 连接:保持活力
请注意,使用
&实际上是编写它的正确方法;如果您编写
&
,浏览器将尝试将以下文本解释为一个实体。如果它找不到匹配的实体,那么它将假定您错误地使用了原始的
&
,并将使用它,但您需要小心,因为您可能会意外地形成一个实体,而不是您请求的实际符号。因此,为了避免可能的错误,您实际上应该编写
&在您的代码中。如果您正在检查或序列化DOM,例如通过
innerHTML
,Safari可能正在重写URL,以便您正确使用
&,以避免此类错误。

您在哪里看到此更改?您必须有
&;放置
,否则它就是无效的HTML。浏览器将解析该
&并在将其用作URL之前将其转换为属性值中的普通符号。@bobince Yes。有时我忘记了HTML和XML并没有太大区别。谢谢你,布莱恩。也许是,;这不是问题所在。我尝试在我的本地主机中传递一个带有参数的URL,即使我更改了域(指定为127.0.0.1),也能正常工作。在我的实际情况中,我在Iframe中放置了一个带有有效证书的外部HTTPS地址,但失败了。如果我把相同的URL放在地址栏中,它就会工作。我不确定safari是否正确处理iframe地址,这是一种非典型行为。在iframe中,外部地址具有相同的行为,即没有传递参数。@manoelhc您必须向我们提供更多信息,以便能够帮助您。您能否提供失败的
https
URL?您能否向我们提供从服务器返回的标题?网站可能正在尝试阻止加载到
,例如
X-Frame-Options:
,这可能会在新浏览器上给您带来问题。再次感谢Brian。我解决了“问题”。我在这个Iframe中使用的URL重定向到另一个页面。默认情况下,Safari 5设置为只接受来自“我访问的页面”的cookie,因此,理论上,我不会访问iframe中的页面。我完全错误地指责&;对于这个问题。我想我没有其他选择来解决这个问题,但是我会引导用户为每个页面启用cookies。对吗?@manolehc这可能是你唯一的选择;我对解决这个问题的方法知之甚少。你可以试着问另一个关于这个问题的问题,或者在谷歌上搜索“safari iframe cookies”或类似的东西。从快速搜索来看,在iframe中发布一篇文章似乎有一个解决办法,但我不能保证它会起作用。