IE 9 Javascript窗口变量为null。。在IE 8上工作

IE 9 Javascript窗口变量为null。。在IE 8上工作,javascript,internet-explorer-8,internet-explorer-9,Javascript,Internet Explorer 8,Internet Explorer 9,在我的代码中,我通过以下方式访问javascript变量: var DASHBOARD = document.parentWindow.parent.Dashboard; 其中,父对象的值为{object Window},其类型为DispHTMLWindow2。 它在IE8或IE9兼容性视图中工作正常,但当我无法使其在IE9上工作时 在IE9上,document.parentWindow.parent.Dashboard的值未定义,其类型未定义。我还注意到,在IE9上,父对象的值是{…},其类

在我的代码中,我通过以下方式访问javascript变量:

var DASHBOARD = document.parentWindow.parent.Dashboard;
其中,父对象的值为{object Window},其类型为DispHTMLWindow2。 它在IE8或IE9兼容性视图中工作正常,但当我无法使其在IE9上工作时

在IE9上,document.parentWindow.parent.Dashboard的值未定义,其类型未定义。我还注意到,在IE9上,父对象的值是{…},其类型是[Object,Window]

在IE 9中是否有不同的方式访问变量仪表板

例如:

layouts.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Create new Layout</title>
    <style type="text/css">
        .border-top { height: 5px; background-color: #B2B2B2;}
        .border-left { width: 3px; height: 100%; background-color: #B2B2B2;}
        .content { height: 100%; background-color: #FFFFFF;}
    </style>

    <script type="text/javascript" src="./container/includes/js/jquery-1.5.1.min.js"></script>
    <script type="text/javascript" src="./container/includes/js/jquery-ui-1.8.12.custom.min.js"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            var dada = "123";
        });
    </script>
</head>
<body>
    <form id="form1" runat="server" style="width: 100%; height: 100%;">
    <div style="width: 100%; height: 100%;">
        <iframe name="remote_iframe_0" src="layouts2.aspx" id="remote_iframe_0" />
    </div>
    </form>
</body>
</html>

创建新布局
.边框顶部{高度:5px;背景色:#B2B2B2;}
.左边框{宽度:3px;高度:100%;背景色:#B2B2B2;}
.content{高度:100%;背景色:#FFFFFF;}
$(文档).ready(函数(){
var dada=“123”;
});
layouts2.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .border-top { height: 5px; background-color: #B2B2B2;}
        .border-left { width: 3px; height: 100%; background-color: #B2B2B2;}
        .content { height: 100%; background-color: #FFFFFF;}
    </style>

    <script type="text/javascript" src="./container/includes/js/jquery-1.5.1.min.js"></script>
    <script type="text/javascript" src="./container/includes/js/jquery-ui-1.8.12.custom.min.js"></script>

    <script type="text/javascript">
        $(document).ready(function () {
            debugger;
        });
    </script>
</head>
<body>
    <form id="form1" runat="server" style="width: 100%; height: 100%;">
    <div style="width: 100%; height: 100%;">
        AAAA
    </div>
    </form>
</body>
</html>


.边框顶部{高度:5px;背景色:#B2B2B2;}
.左边框{宽度:3px;高度:100%;背景色:#B2B2B2;}
.content{高度:100%;背景色:#FFFFFF;}
$(文档).ready(函数(){
调试器;
});
AAAA
如何在调试器中访问变量dada;在layouts2.aspx中?考虑到两个页面位于同一个域。

您可以使用:

window.parent.dada
参考:


请确认:这两个窗口是否由同一域/端口提供服务?父框架和子框架位于同一域和端口上。
parentWindow
是Microsoft唯一的参数。我想他们在IE9中删除它是为了兼容。使用
parent
opener
代替。我尝试了Dom中几乎所有可能的路径来查找我的变量,但在IE9中找不到它。场景是这样的:一个主窗口,其中声明了一个变量仪表板;B iframe是A的(都是同一个域),我正在尝试从B访问变量。您尝试过:window.parent.dada吗?(和)编辑以使链接可点击。但实际上,w3schools并不是一个好的资源。