我有一个iframe:
<iframe src="http://externaldomain.com/something.html">
如果来自externaldomain.com的something.html有css:
html { position: relative; }
在IE中,它会将iframe呈现为空白。所有其他浏览器都没问题。
有人知道解决方案吗?记住相同的原产地政策。我无法使用javascript更改iframe中的任何内容或更改css,因为iframe src是外部的。
感谢。
答案 0 :(得分:8)
使用以下语法。
给出style =“position:relative;”到你的iframe它将在IE中工作。
答案 1 :(得分:1)
作为一种解决方法,如果所有其他方法都失败了,您可以使用服务器端逻辑(如ASP.NET或PHP)下载something.html的内容,并将其保存在本地Web服务器上。然后你可以避免同源策略,或者甚至可以在服务器上自己修改HTML / CSS,例如,删除有问题的位置:relative。
答案 2 :(得分:1)
我首先阅读这个Another Cross Domain iFrame Communication Technique然后再看一个更优雅的AJAX解决方案。我已经看到很多情况下跨域iframe不起作用(并且有充分的理由)。
IFrames在邪恶之轴(IMO)
中比IE高出一步答案 3 :(得分:0)
iframe必须包含属性ID
window.parent.document.getElementById('iframeid').contentWindow.document.execCommand('print', false, null);