使用JavaScript可以方便的进行iframe的DOM操作

若是在本地测试,可直接使用IE和FireFox,使用chrome则需要执行chrome --disable-web-security

禁用chrome的WEB安全限制则可以在本地进行测试,代码如下:

iframe_dom.html

<!DOCTYPE html">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>iframe DOM操作[demo]|使用JavaScript来进行iframe的DOM操作 |by WYQ</title><style type="text/css">
body {margin: 0;padding: 0;
}#wIframeA,#wIframeB {width: 400px;height: 400px;float: left;
}
</style></head><body><h1 style="text-align: center">使用JavaScript在IE和Firefox下进行iframe的DOM操作[demo]</h1><div style="margin: 10px auto; width: 300px; height: 40px;"><input type="button" value="父窗口操作iframeA" οnclick="iframeA();"style="width: 150px; float: left;" /><input type="button" value="父窗口操作iframeB" οnclick="iframeB();"style="width: 150px; float: left;" /></div><div id="pHello"style="margin: 10px auto; width: 360px; height: 30px;">此处可通过iframeB的JavaScript函数,来替换哦~</div><div style="margin: 10px auto; width: 810px; height: 300px;"><iframe id="wIframeA" name="myiframeA" src="a.html" scrolling="no"frameborder="0"></iframe><iframe id="wIframeB" name="myiframeB" src="b.html" scrolling="no"frameborder="0"></iframe></div><script type="text/javascript">
function iframeA() {var a = getIFrameDOM("wIframeA");a.getElementById('hello').style.background = "red";
}
function iframeB() {var a = getIFrameDOM("wIframeB");a.getElementById('hello').style.background = "green";
}
function getIFrameDOM(id) {return document.getElementById(id).contentDocument|| document.frames[id].document;
}
</script></body>
</html>

a.html

<!DOCTYPE html">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>iframe DOM操作 _iframeA|by WYQ</title></head><body><h1>I am iframe A</h1><p id="hello">Hello World!</p></body>
</html>

b.html

<!DOCTYPE html">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>iframe DOM操作 _iframeB|by WYQ</title></head><body><h1>I am iframe B</h1><p id="hello">Hello World!</p><button οnclick="child4parent();" style="width:180px;float:left;">iframeB子窗口操作父窗口</button><button οnclick="child4child();" style="width:150px;float:left;">iframeB操作子窗口A</button><script type="text/javascript">function child4child(){var a=parent.getIFrameDOM("wIframeA");a.getElementById('hello').innerHTML="<span style='color:blue;font-size:18px;background:yellow;'>看,俺子窗口B也能DOM你A!</span>";}function child4parent(){parent.document.getElementById("pHello").innerHTML="<p style='background:#000;color:#fff;font-size:15px;'>O(∩_∩)O哈哈~用子窗口B就可以替换你!不服吗?</p>";}</script></body>
</html>

使用JavaScript进行iframe的DOM操作相关推荐

  1. 使用JavaScript下进行iframe的DOM操作(考虑浏览器兼容性)

    今天碰到一个浏览器兼容性的问题,是IE和Firefox下iframe DOM操作的差异.本文借IE和Firefox在iframe DOM操作的不同,进行分析说明JavaScript在DOM操作中两者的 ...

  2. JavaScript(五)—— Web APIs 简介/JavaScript 必须掌握的 DOM 操作 (丰富案例 + 思维导图)

    本篇为 JavaScript 系列笔记第五篇,将陆续更新后续内容.参考:黑马程序员JavaScript核心教程,前端基础教程 系列笔记: JavaScript(一)-- 初识JavaScript / ...

  3. JavaScript和jQuery的DOM操作

    1.创建元素节点 传统的javascript方法,创建元素节点 程序代码 var a  = document.createElement("p"); jQuery中创建节点的方法是 ...

  4. JavaScript那些事儿(1):对比JavaScript和jQuery的Dom操作

    正在着手看<javascript权威指南>,整理点儿笔记,也算是督促自己学习,每天看一点,特立此贴,希望自己能坚持下去. 对比:用javascript和jQuery分别判断某元素是否存在, ...

  5. 04-前端技术_ javaScript内置对象与DOM操作

    目录 五,javaScript内置对象与DOM操作 1,JavaScript对象定义和使用 2,JavaScript内置对象 2.1 Array数组 2.1.1 创建方式 2.1.2 常用属性: 2. ...

  6. JavaScript(六)—— DOM 事件高级

    本篇为 JavaScript 系列笔记第六篇,将陆续更新后续内容.参考:黑马程序员JavaScript核心教程,前端基础教程 系列笔记: JavaScript(一)-- 初识JavaScript / ...

  7. JavaScript之BOM和DOM入门

    JavaScript之BOM和DOM入门 JavaScript的组成包含三大部分,分别为ECMAScript.DOM和BOM.JavaScript组成,如下图所示: ECMAScript是JavaSc ...

  8. 加速Javascript:DOM操作优化

    原文:<Speeding up JavaScript: Working with the DOM> 作者: KeeKim Heng, Google Web Developer 在我们开发互 ...

  9. 03.JavaScript对DOM操作

    JavaScript引入方式 外部引入 在head或者body中,添加以下代码 <script type="text/javascript" src="js/dem ...

  10. JavaScript中DOM操作

    Web前端基础修炼 HTML基本标签详解与运行截图 CSS基本操作详解及截图演示 JavaScript基础(ECMAScript) JavaScript中DOM操作 JavaScript中BOM操作 ...

最新文章

  1. buuctf rar1
  2. python数据分享人力资源_Python数据分析帮你清晰的了解整理员工们的工作效率和整体满意度...
  3. [Linux C]递归遍历指定目录,以目录树形式展示
  4. JAVA HASHMAP 用法
  5. vs用c语言写贪吃蛇,熬书几个月,终于编出简易的贪吃蛇了,VS2013
  6. Spring Boot笔记-@Scheduled(cron=““)设置调度任务
  7. Django——序列化与反序列化
  8. php无限评论回复_php如何制作无限级评论功能?
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的学生信息管理系统
  10. OpenStack网络介绍
  11. Python collection模块与深浅拷贝
  12. Vivado的安装以及使用_入门
  13. Flutter 2020/2/18 来到app登录界面
  14. HashMap碰撞问题解析
  15. Python正则表达式及match函数的用法
  16. CM108AH和DP108/DP108T的区别
  17. 免密登录 蹩脚的“脚本”
  18. ISBN码识别-DA数据结构二级项目
  19. Linux驱动——mmc sd card初始化流程(十一)
  20. 跟开涛老师学shiro -- 授权

热门文章

  1. 马科维茨投资组合理论(均方模型)(1)
  2. 【学术相关】明尼苏达大学博导“约法十章”火了:没事不乱开会、合写论文不要催导师,复旦教授直呼值得学习...
  3. 锯齿波调制的FMCW雷达中频回波信号的公式推导
  4. Sizes of tensors must match except in dimension 1. Got 85 and 6 in dimension 2
  5. 《15款最好用的新浪短链接(t.cn接口)在线生成工具》
  6. 众包专访:开源众包让我安心——开源中国众包使用记录
  7. 紫外光谱分析的基本原理是什么
  8. SSL/TLS(3): CA证书解释
  9. Unity GUI 中文显示
  10. 6款沙发背景墙装饰画 总有一幅你喜欢的