window之间、iframe之间的JS通信
2016-08-01 20:08
323 查看
一、Window之间JS通信
在开发项目过程中,由于要引入第三方在线编辑器,所以需要另外一个窗口(window),而且要求打开的window要与原来的窗口进行js通信,那么如何实现呢?
1、在原窗口创建新打开window的一个对象:
新窗口里有一个say()方法:
2、使用对象调用新窗口里的say()方法:
那么,如何在新窗口中调用原来窗口的方法呢???假设在原窗口有一个hello()方法:
新窗口可以使用window.opener调用原窗口的方法哦!如下所示:
二、iframe之间JS通信
在开发项目过程中,由于要引入第三方在线编辑器,所以需要另外一个窗口(window),而且要求打开的window要与原来的窗口进行js通信,那么如何实现呢?
1、在原窗口创建新打开window的一个对象:
var new_window; var url = 'http:://second.com'; new_window = window.open(url, 'new_window');
新窗口里有一个say()方法:
function say() { alert('hello, second!'); }
2、使用对象调用新窗口里的say()方法:
new_window.say();
那么,如何在新窗口中调用原来窗口的方法呢???假设在原窗口有一个hello()方法:
function hello() { alert('hello, The first!'); }
新窗口可以使用window.opener调用原窗口的方法哦!如下所示:
window.opener.hello();
二、iframe之间JS通信
<script type="text/javascript"> function hello() { console.log('拾空网say hello!'); return '拾空网say hello!'; } function callChildren() { var state = window.frames["children"].document.readyState; if (state == 'complete') { children.window.say(); // 调用子页面里面的js方法 //parent.window.hello(); // 调用父页面方法 } } </script> <div style="border:1px solid #F00"> <h3>test iframe connection</h3> <input type='text' name="sex" value="male"/> <input type="button" name="test_js" value="测试js调用" onClick="javascript:callChildren()" /> <iframe name="children" src="host/" width="100%" height="100%" scrolling="yes" frameborder="1"></iframe> </div>
相关文章推荐
- json的几种遍历
- JavaScript
- 省市联动js代码
- JSP的一个增删改查例子和总结
- JS调用JCEF方法
- js对文字的修饰 big() small() fixed() toUpperCase() toLowerCase()
- JavaScript 自定义事件
- JavaScript事件
- JS 操作浏览器的参数
- 8.1 bzoj1012 [JSOI2008]最大数maxnumber
- Retrofit 使用心得-json解析
- 7.29 bzoj1029[JSOI2007]建筑抢修
- jsDate()
- 我的javascript之路之基本类型和复杂类型作为函数的参数
- javascript实现浏览器管理员工具鼠标获取Html元素 并生成 xpath
- 点评js异步加载的4种方式
- js的所有页面报错查看
- jsonp跨域请求
- Ionic,angular.js学习--(本篇文章技术已过时,angular学习请参考angular2)
- js根据手机屏幕控制像素