如果在父页面中设置了
document.domain属性,则
Internet Explorer会提示我“访问被拒绝”
叹。是的,这是IE问题(错误?很难说,因为没有针对这种不愉快现象的记录标准)。创建无src的iframe时,它会
document.domain从父文档的那里收到,
location.host而不是从
document.domain。那时,由于无法更改,您已经迷失了很多。
可怕的解决方法是将srcjavascript 设置为URL:
iframe.src= "javascript:'<html><body><p>Hello</p><script>do things;</script>'";
但是由于某种原因,此类文档无法
document.domain在IE中的脚本中设置自己的文档(很好的旧“未指定错误”),因此您不能使用它来重新获得父级
(*)之间的桥梁。您可以使用它来编写整个文档的HTML,假设该部件在实例化后无需与其父文档进行对话。
但是,
iframe Javascript URL在Safari中不起作用,因此您仍然需要某种浏览器嗅探才能选择要使用的方法。
*:由于其他原因,您可以在IE中
document.domain从第二个文档(由第一个文档编写)中设置。所以这有效:
if (isIE) iframe.src= "javascript:'<script>window.onload=function(){document.write(\'<script>document.domain=\""+document.domain+"\";<\\/script>\');document.close();};</script>'";在这一点上,我的恐惧程度太高了,我已经出局了。我会像David所说的那样做外部HTML。



