jQuery使用ajax(XMLHttpRequest)请求来加载数据,但是浏览器允许此请求用于同一域上的资源。(上面的答案提到了同源政策)。这就是为什么它可与Temp.htm一起使用的原因,而不适用于www.google.com。
解决此问题的一种方法是创建一个服务器脚本,该脚本将为您加载页面-基本上是代理。然后你打电话
$('#g').load("load.php?url=google.com")另一个解决方案是使用iframe进行通信-我发现了这个库,这似乎是您所需要的:jquery-crossframe
第三个选项是JSONP,但在您的情况下不起作用。
我的意见-选择服务器端代理作为第一选择。
为什么会有相同的原产地政策?
想象一下,您正在检查eBay帐户上的某些内容。然后,在另一个选项卡中,打开我的网站,我在其中的脚本中发出了一系列向ebay发出请求(您仍处于登录状态)的出价,甚至在没有引起注意的情况下竞标奥迪A8。烦人…如果是您的银行,可以直接从您那里窃取资金。
具有讽刺意味的是,尽管采用了相同的来源策略,但仍可能发生上述攻击。



