我正在尝试使用GWT在一个iframe内运行一个应用程序。直到这里一切正常,事情是我在我的实际网络中有一个表格将请求发送到iframe。使用java脚本,当我按下“发送表单”按钮时,我更改了我的iframe的src并稍后刷新它:
document.getElementById('iframeSpecialOffers').src = container.url;
document.getElementById('iframeSpecialOffers').contentWindow.location.reload();
网页正在www.example.com:81中运行,新的src在www.example.com:8082中为我的iframe运行,我收到此错误
Unsafe JavaScript attempt to access frame with URL http://example:8082/Home.html#!TilePage;searchQuery=*;searchMode=1;amount=1;
position='47.3686498,8.539182500000038';leftBottomPosition='47.32023,8.448059899999976';
rightTopPosition='47.43468,8.625370100000055';availabilityEndDate=datetime'2012-08-012T18:00:00';$culture=en
from frame with URL http://example:81/. Domains, protocols and ports must match.
非常感谢!
答案 0 :(得分:2)
为了保护人们免受XSS攻击(跨站脚本),浏览器不允许您访问非同一域内的iFrame或窗口内的任何内容。
但是,您可以设置某种标题,告诉浏览器允许跨域内容。
http://en.wikipedia.org/wiki/Cross-origin_resource_sharing
我不确定这是你应该去的路线,避免那种事情要好得多。
如果您的目标是严格刷新页面,您可以通过再次设置src来实现,我相信只需执行以下操作即可刷新页面:
document.getElementById('iframeSpecialOffers').src = document.getElementById('iframeSpecialOffers').src;
但是如果这不起作用,你可以附加一个无用的queryString参数来使它变得不同。