javascript iframe 操作(一)
[兼容所有浏览器 包括IE7/8/9]
1.父页面中获取IFRAME的WINDOW对象
获得了window对象后,就可以调用iframe页面中定义的方法等。
IE:可以通过iframeId、window.iframeId、window.iframeName、window.frames[iframeId]、window.frames[iframeName]、window.frames[iframeIndex]和iframeElement.contentWindow这6种方法来获取iframe的window对象。
FF:可以通过window.iframeName、window.frames[iframeName]和iframeElement.contentWindow这3种方法获取window对象。
总结:为了兼容大多数浏览器,应使用iframeElement.contentWindow来获取。见如下代码:
var iframe = document.getElementById('iframe1').contentWindow;
2.父页面中获取IFRAME的DOCUMENT对象
总结:应使用以下两方法来获取,见代码:
<iframe id="iframe1" src="frame1.html"></iframe>
<script type="text/javascript">
//获取iframe的document对象
//方法1:先获取window对象再通过window.docuemnt
var iframe = document.getElementById('iframe1').contentWindow.document;
//可以使用jquery操作
$(iframe).find('#con').html('test');
//方法2:分支判断
function getIframeDom(iframeId) {
return document.getElementById(iframeId).contentDocument || window.frames[iframeId].document;
}
</script>
注:为了防止iframe没有加载完,建议将获取iframe元素的操作放在这个里面:等待iframe加载完[ifrm为iframe的id值]
document.getElementById("ifrm").onload = function (){ }
3.IFRAME页面获取父页面的WINDOW对象
parent:父页面window对象
window.parent
top:顶层页面window对象
window.top
self:始终指向当前页面的window对象(与window等价)
如果窗口是顶级窗口,那么parent==self==top
根据这个可以防止网页被嵌套:
if(window!=window.top){
window.top.location.href=window.location.href:
}
兼容性:适用于所有浏览器,当拿到了父页面的window对象后,就可以访问父页面定义的全局变量和函数。
注:chrome要求在服务器环境下进行iframe操作。
javascript iframe 操作(一)的更多相关文章
- javascript: iframe switchSysBar 左欄打開關閉,兼容各瀏覽器操作
<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Con ...
- javascript DOM 操作 attribute 和 property 的区别
javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...
- javascript DOM 操作
在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...
- select元素javascript常用操作 转
/*------------------------------------------------------ *作者:xieyu @ 2007-08-14 *语言:JavaScript *说明:s ...
- javascript DOM操作之 querySelector,querySelectorAll
javascript DOM操作之 querySelector,querySelectorAll
- JavaScript 节点操作Dom属性和方法(转)
JavaScript 节点操作Dom属性和方法 一些常用的dom属性和方法,列出来作为手册用. 属性: 1.Attributes 存储节点的属性列表(只读) 2.childNodes 存储 ...
- JavaScript动态操作style
1.易错:修改元素的样式不是设置class属性,而是className属性.class是JS的一个保留关键字. 2.易错:单独修改样式的属性使用"style.属性名"3.注意在cs ...
- RX学习笔记:JavaScript数组操作
RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...
- Javascript 文件操作(整理版)
Javascript 文件操作 一.功能实现核心:FileSystemObject 对象 其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象.在详细介绍 ...
随机推荐
- requireJS简介和一个完整实例
什么是 requireJS ? requireJS 是用JavaScript编写的JS框架,主要功能是可以按不同的先后依赖关系对 JavaScript 等文件的进行加载工作,可简单理解为JS文件的加载 ...
- BZOJ 4174 tty的求助 莫比乌斯反演
题目大意:求∑Nn=1∑Mm=1∑m−1k=0⌊nk+xm⌋ mod 998244353 如果n和m都已经确定了.如今要求这坨玩应: ∑m−1k=0⌊nk+xm⌋ =∑m−1k=0(⌊nk%m+xm⌋ ...
- 2014ACM/ICPC亚洲区域赛牡丹江站现场赛-A ( ZOJ 3819 ) Average Score
Average Score Time Limit: 2 Seconds Memory Limit: 65536 KB Bob is a freshman in Marjar Universi ...
- pip安装mysql报错 ld: library not found for -lssl
ld: library not found for -lssl clang: error: linker command failed with exit code (use -v to see in ...
- 【Python】help与dir的用法
当你给dir()提供一个模块名字时,它返回在那个模块中定义的名字的列表.当没有为其提供参数时, 它返回当前模块中定义的名字的列表. 如果您需要快速获取任何的Python函数或语句的信息,那么您可以使用 ...
- iOS开发-关闭/收起键盘方法总结
前言:作为IOS开发人员,需要经常和表单打交道.因此我对收起键盘的方法作了下总结,IOS收起键盘有三种方法(如果有其它收起键盘的方法请在留言区指错). 收起键盘的方法: 1.点击Return按扭时收起 ...
- Android学习笔记(一)——Activity简介 和 View
源文链接:http://www.cnblogs.com/shyang--TechBlogs/archive/2011/03/14/1984195.html Android SDK ( Software ...
- mongodb or and 条件拼凑 Query.And Query.Or
查询 1月 7月 8月 的数据 list - [0] { "$or" : [{ "JobDate" : { "$gte" : ISODate ...
- 基于tornado实现web camera
基于tornado实现web camera 近期在学习python.找了一个框架学习,我选择的是tornado.由于其不仅仅是一个web开发框架,其还是一个server,异步事件库,一举多得. 我一直 ...
- Eclips中文版或汉化使用
Eclipse简体中文包下载地址 :http://babel.eclipse.org/babel/ 在上面网站找,下载地址应该是(注意对应的版本): http://www.eclipse.org/do ...