我不认为这是可能的,但我今天早上痛恨IE6的两倍多,现在则。
请不要再问我关于为什么,但我会尽量解释什么,我们正在努力实现的。我们有2级正在运行的应用程序,比方说APP1 APP2和,他们两人都是在同一个域。 APP1是包括上APP2托管的JavaScript文件。这个js文件将:
所以在APP1我们到底在内容被APP2产生,而不存在在屏幕上一个IFrame头。
问题在于,在步骤4;这是工作的罚款除IE6的所有浏览器(难道这是在web开发中最常用的句子?)。试图访问的iframe contentWindow.document当我得到一个JS错误:“访问被拒绝”。我不是专家,但据我所知这个错误,如果这两个应用并不在同一个域,你会得到,但他们(dev.echnet / APP1和dev.echnet / APP 2)。
这是我使用用于上述步骤的代码(掏出未如果不执行IE6东西):(1),(2)及(3):
var elIf;
$().ready(function()
{
elIf = document.createElement('<iframe name="uhframename">');
elIf.setAttribute('id','idUhFrame');
document.body.appendChild(elIf);
var uhDiv = document.createElement('div');
document.body.appendChild(uhDiv);
elIf.src='dev.echnet/APP1?nocache='+Math.random();
getText();
}
(4)
function getText() {
var sContent = "";
if (elIf.contentWindow.document.body) { // access denied on elIf.contentWindow.document
...
}
}
我GOOGLE了很多,尝试了多种可能性,我发现(也SO),但他们都不来解决这个问题。
我也试图通过设置它的源本该IFrame明确设置的域:
“JavaScript的:(函数(){document.open(); document.domain的= \ 'dev.echnet \'; document.close();})()”
但我不能完全肯定这是否有任何影响,因为我设置源到别的东西了几步进一步。无论如何,因为它是不应该的问题同一个域?
希望一些帮助或某人击落所有IE6用户(一个可行的任务现在),所以我可以:-)跳过此任务。
有的用它工作在这里的另一个问题后,我想出了这个解决方案。
似乎.document
并不总是必要的。
我使用的是Chrome和它不与.document
工作,但就像用了它的魅力