- 浏览: 1117407 次
文章分类
- 全部博客 (379)
- S2SH (16)
- stuts2 (0)
- java语言 (81)
- JSP (17)
- <html>元素 (11)
- javaweb (4)
- web容器 (3)
- ext (23)
- javaScript (48)
- ant (1)
- liferay (1)
- sql (9)
- css (42)
- 浏览器设置 (3)
- office_world (1)
- eclipse (4)
- 其它 (28)
- 操作系统 (5)
- android (6)
- Struts2 (11)
- RegEx (3)
- mysql (5)
- BigDATA (1)
- Node.js (1)
- Algorithm (10)
- Apache Spark (1)
- 数据库 (5)
- linux (2)
- git (1)
- Adobe (3)
- java语言,WebSocket (1)
- Maven (3)
- SHELL (1)
- XML (2)
- 数学 (2)
- Python (2)
- Java_mysql (1)
- ReactJS (6)
- 养生 (4)
- Docker (1)
- Protocols (3)
- java8 (2)
- 书籍 (1)
- Gradle (2)
- AngularJS (5)
- SpringMVC (2)
- SOAP (1)
- BootstrapCSS (1)
- HTTP协议 (1)
- OAuth2 (1)
最新评论
-
Lixh1986:
Java并发编程:自己动手写一把可重入锁https://blo ...
Java之多线程之Lock与Condition -
Lixh1986:
http://win.51apps.com.cn/https: ...
temp -
ztwsl:
不错,支持很好
HttpServletRequest和ServletRequest的区别 -
guodongkai:
谢谢您能将知识精华汇编总结,让初学者们从原理中学会和提高。
javaScript之function定义 -
kangwen23:
谢谢了,顶顶
struts2中的ValueStack学习
JS操作iframe
1. 获得iframe的window对象
2. 获得iframe的document对象
3. iframe中获得父页面的window对象
4. 获得iframe在父页面中的html标签
5. iframe的onload事件
6. frames
参考文章
1. 获得iframe的window对象
存在跨域访问限制。
chrome:iframeElement. contentWindow
firefox: iframeElement.contentWindow
ie6:iframeElement.contentWindow
文章Iframes, onload, and document.domain中说“he iframe element object has a property called contentDocument that contains the iframe’s document object, so you can use the parentWindow property to retrieve the window object.”意思就是一些浏览器可以通过iframeElement.contentDocument.parentWindow获得iframe的window对象。但经过测试firefox、chrome的element.contentDocument对象没有parentWindow属性。
function getIframeWindow(element){
return element.contentWindow;
//return element.contentWindow || element.contentDocument.parentWindow;
}
2. 获得iframe的document对象
存在跨域访问限制。
chrome:iframeElement.contentDocument
firefox:iframeElement.contentDocument
ie:element.contentWindow.document
备注:ie没有iframeElement.contentDocument属性。
var getIframeDocument = function(element) {
return element.contentDocument || element.contentWindow.document;
};
3. iframe中获得父页面的window对象
存在跨域访问限制。
父页面:window.parent
顶层页面:window.top
适用于所有浏览器
4. 获得iframe在父页面中的html标签
存在跨域访问限制。
window.frameElement(类型:HTMLElement),适用于所有浏览器
5. iframe的onload事件
非ie浏览器都提供了onload事件。例如下面代码在ie中是不会有弹出框的。
var ifr = document.createElement('iframe');
ifr.src = 'http://www.b.com/index.php';
ifr.onload = function() {
alert('loaded');
};
document.body.appendChild(ifr);
但是ie却又似乎提供了onload事件,下面两种方法都会触发onload
方法一:
<iframe onload="alert('loaded');" src="http://www.b.com/index.php"></iframe>
方法二:
//只有ie才支持为createElement传递这样的参数
var ifr = document.createElement('<iframe onload="alert('loaded');" src="http://www.b.com/index.php"></iframe>');
document.body.appendChild(ifr);
由于iframe元素包含于父级页面中,因此以上方法均不存在跨域问题。
实际上IE提供了onload事件,但必须使用attachEvent进行绑定。
var ifr = document.createElement('iframe');
ifr.src = 'http://b.a.com/b.php';
if (ifr.attachEvent) {
ifr.attachEvent('onload', function(){ alert('loaded'); });
} else {
ifr.onload = function() { alert('loaded'); };
}
document.body.appendChild(ifr);
6. frames
window.frames可以取到页面中的帧(iframe、frame等),需要注意的是取到的是window对象,而不是HTMLElement。
var ifr1 = document.getElementById('ifr1');
var ifr1win = window.frames[0];
ifr1win.frameElement === ifr1; // true
ifr1win === ifr1; // false
参考文章
Iframes, onload, and document.domain
【翻译】Iframe, onload 与 document.domain
《JS权威指南第五版》
http://www.cnblogs.com/rainman/archive/2011/02/16/1956431.html
发表评论
-
Javascript 测试框架之 隐式声明 之 describe
2019-06-25 15:26 2633为什么使用 javascript 测试框架时,没有显式导入 d ... -
JavaScript之ECMAScript6新特性之_03_箭头函数(Arrow Function)
2018-01-25 13:46 1128一、简介 箭头函数(Arrow Function)是 ES6 ... -
JavaScript之ECMAScript6新特性之_02_线程异步阻塞: Promise, Async / await
2018-01-12 16:51 2334刚出来不久的 ES8 包含了 async 函数,它的出现,终于 ... -
JavaScript之ECMAScript6新特性之_01_开篇
2017-08-17 02:54 609点此查看全部: http://es6-features.org ... -
jQuery Versions - browser support
2017-08-12 04:19 1643jQuery 3.2.1 Support Deskto ... -
基于HTML5实现的中国象棋游戏
2017-06-24 02:24 1700HTML5实现中国象棋游戏 http://www.w2bc.c ... -
JavaScript之跨域请求解决方案
2017-06-07 11:03 4000浏览器处于安全原因,在使用 Ajax 进行请求访问时,不允许跨 ... -
JavaScript之 25 道面试题
2017-04-17 17:05 96125 Essential JavaScript Intervi ... -
JavaScript小应用之分页算法
2017-03-16 12:56 675效果图: function getPagina ... -
jQuery之empty() VS. remove()
2017-03-16 10:32 732jQuery empty() vs remove() Wh ... -
jQuery之 prop() VS. attr()
2017-03-14 16:43 666attr() 用于自定义属性,id ; prop() 用于 ... -
jQuery之mouseover,mouseover,mouseout,mouseleave
2017-03-14 10:20 666Jquery mouseenter() vs mouseove ... -
javascript之面向对象编程之原型继承
2017-01-02 15:34 1160前文讲到“属性继承” ... -
HTML5之Cookie,localStorage 与 sessionStorage
2016-12-22 18:35 851详说 Cookie, LocalStorage 与 ... -
jquery之live(), delegate(), on() 方法
2016-11-26 23:48 939通过下面的一个实例理解 jQuery 的 live(), de ... -
javascript之小应用:网页在线聊天
2016-11-08 11:48 4341概览 这款使用 PHP 和 javascript 搭建的 ... -
javascript之编程序题目
2016-11-06 17:30 10571. 判断两个字符串是否:字母相同切长度相同(空格不算)。 ... -
javascript之面向对象编程之属性继承
2016-10-23 21:09 927函数继承可以分为两种:1、继承其 this 属性 2、继承其 ... -
javascript 之 undefined
2016-08-12 11:01 717一、用法 undefined 关键字有两种用法: 1. 如 ... -
javascript之 == vs ===
2016-06-12 15:59 662一、Comparison Overview 1. Speed ...
相关推荐
在JavaScript中,操作`iframe`内的DOM元素是常见的需求,特别是在构建复杂的网页应用时。`iframe`(Inline Frame)是一种可以在HTML文档中嵌入另一个HTML文档的元素,它允许我们实现页面分隔、加载外部资源或者创建...
### JS操作Iframe的知识点详解 #### 一、概述 在网页开发中,经常会遇到需要通过JavaScript来控制或操作Iframe元素的情况。Iframe(Inline Frame)是一种可以在当前页面内嵌入其他页面的方式,常用于广告展示、...
然后,我们关注到"ifrWin.js",这是一个JavaScript文件,实现了iframe的拖动逻辑。在这个文件中,我们需要创建一个类来处理iframe的拖动事件。这个类可能包含初始化方法、事件监听器(如`mousedown`、`mousemove`和`...
总之,`javascript`动态调整`iframe`高度的核心在于获取`iframe`内容的实际高度,并将其设置为`iframe`元素的`height`属性。通过正确处理同源策略和跨域通信,我们可以确保无论`iframe`内容如何变化,都能保持页面...
综上所述,"js调用-嵌入iframe"涉及到的主要知识点包括IFrame的基本使用、JavaScript与IFrame的交互以及测试中的注意事项。理解并掌握这些内容,对于网页开发尤其是动态内容加载和页面组件的复用具有重要意义。
JavaScript实现IFrame子窗口调用父窗口的全局变量
在IT领域,特别是前端开发中,JavaScript(简称JS)被广泛用于实现网页的动态功能,包括页面跳转和对iframe内的页面进行跳转与刷新。本文将深入解析JS页面跳转的各种方法,以及如何利用JS操作iframe进行页面跳转和...
JavaScript(简称JS)是一种广泛用于网页和网络应用的编程语言,尤其在操作DOM(文档对象模型)方面具有强大的功能。当涉及到在iframe中操作DOM时,情况会变得稍微复杂一些,因为iframe实际上是一个独立的浏览上下文...
在Web开发中,JavaScript(JS)的同源策略限制了不同源之间进行交互,包括从一个页面中的脚本访问另一个不同源的IFrame内容。"解决JS跨域访问IFrame的解决方案"这一主题关注的就是如何克服这个限制,使得在JSP页面中...
利用JavaScript可以实现对`iframe`中的元素进行操作,例如读取或修改其中的内容。下面将详细介绍如何通过JavaScript来处理`iframe`中的各种问题。 #### 1. 访问`iframe`内部元素 根据提供的代码片段,“获取父页面...
3. **跨域问题**:由于同源策略的限制,JavaScript通常只能操作同源的IFRAME。如果IFRAME加载的是不同源的页面,你需要确保服务端设置允许跨域请求(CORS)或者使用`window.postMessage`进行安全的数据通信。 4. **...
在JavaScript编程中,有时我们需要处理嵌入在页面中的`iframe`元素,并可能需要与外部页面交互,例如关闭`iframe`外部的某个`div`容器。这个需求通常出现在弹窗或者模态框的场景中,`iframe`用于承载特定的内容,而...
而"工具"标签可能意味着我们可以借助一些库或框架,如jQuery的`.contents()`方法来简化DOM操作,或者使用PostMessage库(如postmessage.js)来更方便地处理消息传递。 总结,JavaScript中的iframe与parent通信是Web...
jQuery是一个强大的JavaScript库,它提供了一个简洁的API来简化DOM操作、事件处理等。使用jQuery,可以轻松实现区域打印功能。具体步骤如下: 1. 引入jQuery库和对应的打印插件文件。 2. 使用jQuery选择器和事件...
总结来说,动态创建iframe并动态添加js执行代码是Web开发中的重要技术,它能够帮助我们实现异步加载、跨域通信等功能,但同时也需要注意相关的安全问题。通过熟练掌握这些技术,开发者能够构建更复杂、更灵活的Web...
接下来,我们可以利用JavaScript的DOM操作和事件监听来实现自适应高度的功能。以下是一个基本的实现步骤: 1. **获取`iframe`元素**:通过`document.getElementById`或`querySelector`方法找到页面上的`iframe`元素...
通过使用JavaScript来让IFRAME框架的高度自适应,我们可以实现IFRAME框架的高度自动调整,以提高用户体验。同时,我们也可以使用这个方法来实现其他类型的高度自动调整,以满足不同的需求。 在实际应用中,我们可以...
3. 如何通过JavaScript操作iframe的属性来去除滚动条。 4. 考虑不同浏览器对于`scrolling`属性的支持情况以及可能出现的兼容性问题。 最后,给定文件还提到了一点重要的内容,即在实际应用去除滚动条功能时,可能...
3. **JavaScript代码**:首先引入`jquery.js`库,它提供了一套强大的DOM操作和事件处理函数,简化了JavaScript编程。然后,编写JavaScript代码来实现tab切换和iframe加载。 ```javascript $(document).ready...