全面兼容的Iframe 与父页面交互操作
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>全面兼容的Iframe 与父页面交互操作</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <script language="javascript" type="text/javascript">
- function fatherFunction() {
- alert("我是父页面的方法,\n调用成功!");
- }
- /*
- *父页面通过 iframe Name 调用子页面的函数或者获取子页面元素的内容
- */
- function one() {
- var ifreame = window.frames["childPage1"];
- if (ifreame != null && ifreame != undefined) {
- ifreame.childFunction();
- }
- }
- function two() {
- var ifreame = window.frames["childPage1"];
- if (ifreame != null && ifreame != undefined) {
- var myValue = ifreame.document.getElementById("childPage");
- alert(myValue.innerHTML);
- }
- }
- /*
- *父页面通过 iframe Id 调用子页面的函数或者获取子页面元素的内容
- */
- function three() {
- var ifreame = window.top.document.getElementById("childPage2").contentWindow;
- if (ifreame != null && ifreame != undefined) {
- ifreame.childFunction();
- }
- }
- function four() {
- var ifreame = window.top.document.getElementById("childPage2").contentWindow;
- if (ifreame != null && ifreame != undefined) {
- var myValue = ifreame.document.getElementById("childPage");
- alert(myValue.innerHTML);
- }
- }
- </script>
- </head>
- <body style="margin: auto;">
- <fieldset>
- <legend>父页面通过 iframe Name 调用子页面的函数或者获取子页面元素的内容</legend>
- <dl>
- <dt>
- <input type="button" value="通过ifrme Name 调用子页面的脚本" onclick="one();" />
- <input type="button" value="通过ifrme Name 获取子页面元素的内容" onclick="two();" />
- </dt>
- <dt>
- <div style="width: 100%; height: 250px;">
- <iframe name="childPage1" src="Child1.htm" frameborder="0" scrolling="no" width="100%"
- height="250"></iframe>
- </div>
- </dt>
- </dl>
- </fieldset>
- <br />
- <fieldset>
- <legend>父页面通过 iframe Id 调用子页面的函数或者获取子页面元素的内容</legend>
- <dl>
- <dt>
- <input type="button" value="通过ifrme Name 调用子页面的脚本" onclick="three();" />
- <input type="button" value="通过ifrme Name 获取子页面元素的内容" onclick="four();" />
- </dt>
- <dt>
- <div style="width: 100%; height: 250px;">
- <iframe id="childPage2" src="Child2.htm" frameborder="0" scrolling="no" width="100%"
- height="250"></iframe>
- </div>
- </dt>
- </dl>
- </fieldset>
- </body>
- </html>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>全面兼容的Iframe 与父页面交互操作</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <script language="javascript" type="text/javascript">
- function childFunction() {
- alert("我是子页面,\n我需要使用 Iframe Name 调用!");
- }
- </script>
- </head>
- <body style="margin: auto; background-color: Gray; color: Red;">
- <input type="button" value="调用父页面的脚本" onclick="javascript:window.parent.fatherFunction();" /><br />
- <div id="childPage">
- 我是子页面,我需要使用 Iframe Name 调用!</div>
- </body>
- </html>
嵌入的 iframe 子页面 Child2.htm 源码如下:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>全面兼容的Iframe 与父页面交互操作</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <script type="text/javascript" language="javascript">
- function childFunction() {
- alert("我是 iframe 嵌入的子页面,\n需要通过 Iframe Id 调用!");
- }
- </script>
- </head>
- <body style="margin: auto; background-color: Gray; color: Red;">
- <input type="button" value="调用父页面的脚本" onclick="javascript:window.parent.fatherFunction();" /><br />
- <div id="childPage">
- 我是 iframe 嵌入的子页面,需要通过Id调用!
- </div>
- </body>
- </html>
效果图如下:
全面兼容的Iframe 与父页面交互操作的更多相关文章
- bug:页面交互操作引发的问题
最近在测试一些h5页面,突然悟到一些测试点 需求点: 用户可以在页面领取礼物,领取的礼物在页面底部展示,用户点击礼物可调起分享弹窗,礼物超过一屏可左右滑动, bug的表现形式: 仅当礼物超过一屏时(一 ...
- iframe与父页面中JS执行顺序控制
同事遇到了一个问题: 父页面中有几个iframe,初衷是父页面的JS通过AJAX获取数据,然后用于初始化iframe页面,可以结果却是有的iframe页面却不能获得数据. [问题根源] 父页面在加载i ...
- iframe与父页面传值
最近做的项目中用到了不少iframe,而且需要实现: 从父页面获取iframe中某个元素的值或则从iframe页面获取其父页面上某个元素的值. 在网上查询了相关东西,后总结如下: (1)父页面获取if ...
- js对iframe内外(父子)页面进行操作
dom对象推荐阅读 怎么对iframe进行操作,1.在iframe里面控制iframe外面的js代码.2.在父框架对子iframe进行操作. 获取iframe里的内容 主要的两个API就是conten ...
- 父页面操作iframe子页面的安全漏洞及跨域限制问题
一.父子交互的跨域限制 同域情况下,父页面和子页面可以通过iframe.contentDocument或者parent.document来交互(彼此做DOM操作等,如父页面往子页面注入css). 跨域 ...
- js之iframe子页面与父页面通信
iframe子页面与父页面通信根据iframe中src属性是同域链接还是跨域链接,通信方式也不同. 一.同域下父子页面的通信 父页面parent.html <html> <head& ...
- IFrame父页面和子页面的交互
现在在页面里面用到iframe的情况越来越少了,但有时还是避免不了,甚至这些页面之间还需要用js来做交互,那么这些页面如何操作彼此的dom呢?下面将会逐步介绍. 1.父页面操作子页面里面的dom 下面 ...
- 嵌入式iframe子页面与父页面js通信方式
iframe框架中的页面与主页面之间的通信方式根据iframe中src属性是同域链接还是跨域链接,有明显不同的通信方式,同域下的数据交换和DOM元素互访就简单的多了,而跨域的则需要一些巧妙的方式来实现 ...
- JS中iframe子页面与父页面之间通信
iframe子页面与父页面通信根据iframe中src属性是同域链接还是跨域链接,通信方式也不同. 一.同域下父子页面的通信 父页面parent.html <html> <head& ...
随机推荐
- bzoj千题计划146:bzoj3295: [Cqoi2011]动态逆序对
http://www.lydsy.com/JudgeOnline/problem.php?id=3295 正着删除看做倒着添加 对答案有贡献的数对满足以下3个条件: 出现时间:i<=j 权值大小 ...
- ansible安装后运行报错cryptography
[root@kazihuo ~]# ansible all -m ping ERROR! Unexpected Exception, this is probably a bug: (cryptogr ...
- CloseableHttpClient与 CloseableHttpResponse应用
最近在使用Apache的httpclient的时候,maven引用了最新版本4.3,发现Idea提示DefaultHttpClient等常用的类已经不推荐使用了,之前在使用4.2.3版本的时候,还没有 ...
- Spyder docstrings文档字符串的标准
Spyder docstrings文档字符串的规范 python的docstring 非常重要. 有时候编写一个小函数只需要几行代码就可了. 但是完善的文档很可能比源代码长许多. 特点和标准 docs ...
- Ubuntu 14.04 Nvidia显卡驱动安装及设置
更换主板修复grub 引导后,无法从Nvidia进入系统(光标闪烁), 可能是显卡驱动出了问题. 1. 进入BIOS设置, 从集成显卡进入系统 将显示器连接到集显的VGI口, 并在BIOS中设置用集显 ...
- python collection 中的队列
认识中的队列 在以前的认知里,队列是先进先出,就是一头进,一头出,Queue.而无意间看到了deque 双向队列. 即从该队列的头或者尾部都能插入和移除元素.而起时间复杂度竟然是一样的!O(1),是不 ...
- vue-cli环境搭建初探!
1.先安装nodejs环境 https://npm.taobao.org/mirrors/node (选择版本) 下一步 下一步 默认安装就行 2.检查node和npm的是否成功安装 node -v ...
- meterpreter使用
1.基本命令 background:将meterpreter终端隐藏在后台 sessions:查看已经成功获取的会话,想继续与某会话进行交互使用sessions –i quit:直接关闭当前meter ...
- crond检查服务状态
代码如下: * */1 * * * /etc/init.d/ntpd status;if [ $? -ne 0 ];then /etc/init.d/ntpd start; fi
- 在c++中实现反射的初步想法
最近在思考如何在c++中实现反射.事情的起因是这样的:我们服务器是用c++开发的,如果需要写一些测试用的GM指令的话,需要编写完GM代码后重新编译并且重启进程,工序繁琐且比较耗时.因此就有了想用脚本( ...