Safari上的iframe:无法加载资源

时间:2014-12-22 15:35:56

标签: javascript html iframe safari

我使用iframe如下:

<iframe src="http://www.expedia.com/Hotel-Search?#&destination=Abbotsford,%20British%20Columbia,%20Canada&startDate=12/29/2014&endDate=1/3/2015&adults=2" frameborder="0" width="900px" height="900px"></iframe>

它在chrome和firefox上运行良好,甚至是IE。但是在safari上,它失败了,我打开日志并看到:

[Error] Failed to load resource: the server responded with a status of 400 (Bad Request) (Hotel-Search, line 0)   http://www.expedia.com/Hotel-Search?inpAjax=true&responsive=true

但是当我直接在新标签页中访问该URL时,在返回到iframe页面和刷新页面后,它会正常运行而不会出现错误。如果我清除历史记录并刷新页面,则iframe将再次出错。原因是什么?你能给出任何解决方案吗?

1 个答案:

答案 0 :(得分:1)

简单来说,当您将链接复制并粘贴到另一个标签页的网址并加载expedia页面时,它将启动与Expedia的会话并在浏览器中设置...然后,因为您已经开始与Expedia的会话iframe将起作用,因为您现在有一个与Expedia的会话。因此,如果您没有首先访问该站点以获取会话,则Safari和IE上的iframe将无法运行。他们阻止它的原因是为了防止可能带来安全风险的跨站点脚本攻击。