javascript中父子页面跨iframe通讯

parent javascript:

 代码如下 复制代码

// parent
// 访问方法
window.frames["childFrame"].callChild();

// 访问元素
var child = document.getElementById("childFrame").contentWindow.document;
child.getElementById('div').innerHTML = "我从父页面过来的!";
child javascript:

// child
// 访问方法
parent.callParent();

// 访问元素
parent.document.getElementById('div').innerHTML = "我是从子iframe过来的!";
PS: chrome下父子iframe不能再本地通讯

例子

 代码如下 复制代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>父页面</title>
    </head>
    <body>
        <iframe name="childFrame" id="childFrame" src="child.html"></iframe>
        <input type="button" id="btn" value="Call Child" />
        <div id="div"></div>
        <script>
            document.getElementById('btn').onclick = function () {

                // 访问方法
                window.frames["childFrame"].callChild();

                // 访问元素
                var child = document.getElementById("childFrame").contentWindow.document;
                child.getElementById('div').innerHTML = "我从父页面过来的!";
            }
            function callParent () {
                alert("hello!我是父Page!")
            }
        </script>
    </body>
</html>

child.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>child</title>
    </head>
    <body>
        <input type="button" id="btn" value="Call Parent" />
        <div id="div"></div>
        <script>
            function callChild() {
                alert("hello!我是子iframe!");
            }
            document.getElementById('btn').onclick = function () {

                // 访问方法
                parent.callParent();

                // 访问元素
                parent.document.getElementById('div').innerHTML = "我是从子iframe过来的!";
            }
        </script>
    </body>
</html>

时间: 2024-09-20 15:02:32

javascript中父子页面跨iframe通讯的相关文章

JavaScript中父子页面数据交互实例详解

js中关于父子页面数据交互一些写法 1.window.frames["test"].document.getElementById('menu'); 2.//由于所有的函数都存放在window对象里面,可去掉开头的window: 3.frames["test"].document.getElementById('menu'); 4.//在浏览器中,帧的name属性被默认等同于子页面的window对象,因此可以进一步简写: 5.test.document.getEle

java web-js中父子页面传参的问题

问题描述 js中父子页面传参的问题 现在有三个文本框,对应三个按钮,调用如下方法,参数id是对应文本框的id,需要打开一个子页面,然后需要把子页面的值传到对应的文本框中,现在遇到的问题就是父页面怎么把文本框的id传个子页面,子页面如何获取id,并进行判断. 父页面中function如下: function openNewWindow(id){ window.open("<%=basePath%>user/showUserList.action#" + id,'linkman

javascript中删除页面数据的问题

问题描述 javascript中删除页面数据的问题 在一个HTML程序的的地步引入了两个JS程序,现在我在HTML页面添加了一个删除按钮 <a href=""index.html""><input type=""button"" value=""Remove!"" id=""a"" onclick=""remo

JAVASCRIPT中UTF8页面提交数据乱码怎么办

1.FORM标签里加上accept-charset代码,这个能把FORM里的数据自动编码成指定的字符集提交,比如在UTF8页面提交数据到GB2312,代码就是accept-charset="GB2312″,但accept-charset除了IE其他浏览器都支持... 2.这时可以在提交时触发JS,document.charset='GB2312′;,用这段代码设置当前页面编码为GB2312.到这里看似很完美了,但还一个问题,就是触发这个代码后,当前页面刷新之后会乱码,这是因为你刚才改变了当前页面

javascript中获取页面所有选择符的css规则实现代码

 代码如下 复制代码 <script type="text/javascript"> /* ################################################### * 说明:用 javascript 获取页面上有选择符的 CSS 规则 * 包括'内部样式块'和'外部样式表文件' * 作者:Yanfu Xie [xieyanfu@yahoo.com.cn] * 网址:http://www.111cn.net * 日期:2007.01.16 *

JavaScript中判断页面关闭、页面刷新的实现代码

  今天由于项目需要判断用户离开页面时要判断用户的行为是关闭还是刷新 虽然没有直接的方法,但通过一定的技巧也能做到 不得不感叹JavaScript的强大!! 请看一下代码: 代码如下: window.onunload = function(){ var a_n = window.event.screenX - window.screenLeft; var a_b = a_n > document.documentElement.scrollWidth-20; if(a_b && wi

JavaScript中判断页面关闭、页面刷新的实现代码_javascript技巧

今天由于项目需要判断用户离开页面时要判断用户的行为是关闭还是刷新 虽然没有直接的方法,但通过一定的技巧也能做到 不得不感叹JavaScript的强大!! 请看一下代码: 复制代码 代码如下: window.onunload = function(){               var a_n = window.event.screenX - window.screenLeft;               var a_b = a_n > document.documentElement.scr

原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法_javascript技巧

用原生js在父页面获取iframe子页面的元素,以及在子页面获取父页面元素,这是平时经常会用到的方法,这里写一个例子来总结下: 1.父页面(demo.html),在父页面修改子页面div的背景色为灰色,原来为红色: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

javascript父子页面通讯实例详解_javascript技巧

本文实例讲述了javascript父子页面通讯的实现方法.分享给大家供大家参考.具体分析如下: 如果一个domain为 www.abc.com的页面内部包含一个name属性值为childFrame的iframe,并且这个iframe的domain为 static.abc.com.那么可以通过设置父页面的domain为abc.com,子页面的domain也为abc.com,然后实现父子页面通讯(我这里有点混淆父子页面和跨域的概念. 不采用上面的方法也是可以实现父子页面相互访问的. 方法是:在父页面