Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问IFrame';s contentWindow.document给出';访问被拒绝';关于IE6_Javascript_Internet Explorer 6_Cross Domain_Access Denied - Fatal编程技术网

Javascript 访问IFrame';s contentWindow.document给出';访问被拒绝';关于IE6

Javascript 访问IFrame';s contentWindow.document给出';访问被拒绝';关于IE6,javascript,internet-explorer-6,cross-domain,access-denied,Javascript,Internet Explorer 6,Cross Domain,Access Denied,我不认为这是可能的,但我现在对IE6的憎恨是今天早上的两倍 请不要告诉我为什么,但我会尽力解释我们正在努力实现的目标。 我们有两个应用正在运行,比如说APP1和APP2,它们都在同一个域上。APP1包含一个托管在APP2上的JavaScript文件。此JS文件将: 创建IFrame(使用document.createElement) 将IFrame的源设置为APP2的根(其中生成了一些HTML) 将div添加到APP1的主体中 读取IFrame的内容(因此生成APP2的HTML) 将此内容设置为

我不认为这是可能的,但我现在对IE6的憎恨是今天早上的两倍

请不要告诉我为什么,但我会尽力解释我们正在努力实现的目标。 我们有两个应用正在运行,比如说APP1和APP2,它们都在同一个域上。APP1包含一个托管在APP2上的JavaScript文件。此JS文件将:

  • 创建IFrame(使用document.createElement)
  • 将IFrame的源设置为APP2的根(其中生成了一些HTML)
  • 将div添加到APP1的主体中
  • 读取IFrame的内容(因此生成APP2的HTML)
  • 将此内容设置为div(3)的innerHTML
  • 因此,在APP1的最后,我们有一个标题,其中内容由APP2生成,而屏幕上没有IFrame

    问题在于步骤4;这对于除IE6之外的所有浏览器都很好(这可能是web开发中最常用的句子吗?)。 我在尝试访问iframe的contentWindow.document时遇到一个JS错误:“访问被拒绝”。我不是专家,但据我所知,如果两个应用程序不在同一个域中,但它们在同一个域中(dev.echnet/APP1和dev.echnet/APP2),则会出现此错误

    这是我在上述步骤中使用的代码(如果不是IE6,则取出未执行的内容): (1) (二)及(三):

    我在谷歌上搜索了很多,尝试了很多我发现的可能性(也是如此),但似乎没有一个能解决这个问题

    我还尝试通过将其源设置为以下方式在IFrame上显式设置域:

    “javascript:(function(){document.open();document.domain=\'dev.echnet\';document.close();})()

    但我不确定这是否有任何影响,因为我将进一步将源代码设置为其他内容。不管怎样,既然它是同一个域,那就不重要了


    希望能得到一些帮助或有人击落所有IE6用户(现在这是一项可行的任务),这样我就可以跳过这项任务:-)。

    在为另一个问题研究了它之后,我想出了这个解决方案

    似乎
    。文档
    并不总是必需的


    我使用的是chrome,它与
    .document
    不兼容,但如果没有它,它就像一个魔咒一样工作

    3n1gm4:tx,我会试试这个,但上面的解决方案在chrome中效果很好,但在IE6.3n1gm4中没有:正如预期的那样,这没有什么区别。反正是Tx。不知道这是否有帮助:
    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();
    
    function getText() {
            var sContent = "";
            if (elIf.contentWindow.document.body) { // access denied on elIf.contentWindow.document
               ...
            }
    }