jquery 实践操作:iframe 相关操作
此篇记录关于HTML 的 iframe 元素 的相关记录
定义:iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。
常用的基本 iframe 设置(详细设置属性参考API:http://www.w3school.com.cn/tags/tag_iframe.asp):
<iframe id="alarmStateTabIframe" scrolling="no" src=""></iframe>
关于 iframe 的相关操作:
- iframe 父页面获取&操作子页面元素(使用 iframe id 属性调用)
示例:
父页面:parentPage.html 文件,里面含有一个 iframe<!DOCTYPE html><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>页面首页</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<div id='parDiv'>父页面</div>
<iframe src="childPage.html" id="youyou" height="" width=""></iframe> <!-- 包含的 iframe --> <script>
<!-- 父页面调用子页面 测试: 使用 id 属性调用 -->
window.onload = function(){
document.getElementById('youyou').contentWindow.document.getElementById('test').style.color = '#ff1e19';
// 等价于jquery: $("#youyou").contents().find("#test").css('color','red');
};
</script>
</body>
</html>子页面:childPage.html 文件,里面含有一个 iframe
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>子页面</title>
</head>
<body>
<div id="test">我是iframe测试的子页面</div>
</body>
</html>运行父页面,会看到父页面的iframe部分写入了子页面文字!! 总结:
1. 父页面中 JS 获取/更改iframe子页面内容:
JS 获取: $(document.getElementById('youyou').contentWindow.document.body).html() //eg: $(document.getElementById('youyou').contentWindow.document.body).html("<h6>gusgu</h6><div id='test'> ghyauati</div>")
jquery 获取:$("#youyou",$('#test').document); //$("#youyou",parent.document.body).attr("src","http://www.baidu.com"); 替换子页面原来的所有内容2. 父页面中 JS 操作iframe子页面的某个元素:
JS 获取: document.getElementById('youyou').contentWindow.document.getElementById('test').style.color='red'
jquery 获取:格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();
实例: $("#youyou").contents().find("#test").css('color','red'); //eg: $("#theiframe").contents().find("#flag").html()其他操作(未测):
jquery 父、子页面之间页面元素的获取,方法的调用:1. 父页面获取子页面元素:
格式:$("#iframe的ID").contents().find("#iframe中的控件ID").click();
实例:$("#ifm").contents().find("#iBtnOk").click(); // ifm 为 <iframe> 标签 id; iBtnOk 为子页面按钮 id
2. 父页面调用子页面方法:
格式:$("#iframe的ID")[0].contentWindow.iframe方法();
实例:$("#ifm")[0].contentWindow().iClick(); // ifm 为 <iframe> 标签 id; iClick为子页面 js 方法
3. 子页面获取父页面元素:
格式:$("#父页面元素id" , parent.document);
实例:$("#pBtnOk" , parent.document).click(); // pBtnOk 为父页面标签 id3. 在父窗口中操作 选中 iframe 中的所有单选钮
$(window.frames["iframe1"].document).find("input:radio").attr("checked","true");
4. 在IFRAME中操作 选中父窗口中的所有单选钮
$(window.parent.document).find("input:radio").attr("checked","true");
5. 父窗口想获得IFrame中的Iframe,就再加一个frames子级就行了,如:
$(window.frames["iframe1"].frames["iframe2"].document).find("input:radio").attr("checked","true");父页面里的 iframe 中的某个元素获取
- iframe 父页面获取&操作子页面元素(使用 iframe name 属性调用)
示例:
父页面:parentPage.html,<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>页面首页</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<iframe name="iframe1" src="childPage.html"></iframe>
<script>
window.onload =function () {
$(window.frames["iframe1"].document).on("click","#btn",function(){ //window.frames["iframe1"].document获的iframe标签嵌套页面document对象
$(this).html("");
})
}
</script>
</body>
</html>子页面:childPage.html,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>子页面</title>
</head>
<body>
<button id="btn">测试操作</button> </body>
</html>运行父页面,点击按钮会看到按钮上文字变化!!
- 子页面 操作获取&操作父页面元素:
参考: http://www.jb51.net/article/43406.htm 父页面写好div+iframe, 子页面中 JS 调用相应的元素,方法等 父页面:parentPage.html, 书写页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>页面首页</title>
</head>
<body>
<form id="form1"></form>
<div>
<div id="default" style="width: 100px; height: 100px; float: left;">default 里的卡卡</div>
<iframe id="iframeid" src="childPage.html" style=" width:400px; height:400px; float:left;"></iframe>
</div> <script>
var h = "hello";
function getHelloWo() {
alert("welcome to the world");
}
</script>
</body>
</html>子页面: childPage.html操作父页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>子页面</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<script>
$(function () {
//在iframe中查找父页面元素
alert($("#default", window.parent.document).html());
//在iframe中调用父页面中定义的方法
parent.getHelloWo();
//在iframe中调用父页面中定义的变量
alert(parent.h);
})
</script>
</body>
</html>运行 父页面 parentPage.html 看看效果,会不断弹出窗口;
总结:
原生 js 父页面元素的获取,方法的调用:
. 子页面调用父页面方法:
格式:parent.父页面方法
实例:parent.pClick(); // pClick 为父页面 js 方法 . 子页面获取父页面元素:
格式:window.parent.document.getElementById("父窗口元素ID");
实例:window.parent.document.getElementById("pBtnOk");// pBtnOk为父页面标签 id再示例: 子页面追加/更改元素:
父页面:parentPage.html 至少包含一个 iframe
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>父级页面</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<div id="example">这是父级页面!</div>
<iframe name="iframe1" src="childPage.html"></iframe>
</body>
</html>子页面:childPage.html, 操作 父页面中元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>子页面</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<script language="javascript">
$("body",parent.document).append('<br>这是子级页面追加的内容!'); //子页面给父页面追加内容
$("body",parent.document).find('#example').html('子级页面将替换父级页面的内容!'); //子页面改变父页面某个元素内容
</script>
</body>
</html>运行父页面 parentPage.html ,可以看到父页面内容的变化;
jquery 实践操作:iframe 相关操作的更多相关文章
- jquery中对 iframe的操作
我们先看一下 JQUERY中的对像 contents() 的帮助文件 contents() 概述 查找匹配元素内部所有的子节点(包括文本节点).如果元素是一个iframe,则查找文档内容 示例 描述: ...
- iframe相关操作
内容摘要 父级获取iframe中的元素 父级触发iframe中的函数 iframe触发父级元素绑定的事件 iframe触发父级函数方法 iframe触发父级元素的值 parent.html <! ...
- javascript iframe相关操作
1. 获得iframe的window对象 iframeElement.contentWindow 2. 获得iframe的document对象 存在跨域访问限制. chrome:iframeEleme ...
- jQuery学习笔记--JqGrid相关操作 方法列表(上)
1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(json):$("#gridi ...
- linux网络操作 防火墙相关操作
防火墙状态 查询防火墙状态 service iptables status 停止防火墙 service iptables stop 启动防火墙 service iptables start 重启防火墙 ...
- iframe的操作
获取iframe的window,获取Iframe的document,获取父页面的window,某个环境是否iframe,动态创建iframe 这是demo.html,这个页用iframe嵌入了ifra ...
- 原生js与jquery操作iframe
1 原生js获取iframe的window对象 //方法1 document.getElementById('iframeId').contentWindow; //方法2 window.frame ...
- Jquery 操作IFrame
使用jquery操作iframe 1. 内容里有两个ifame <iframe id="leftiframe"...</iframe> <iframe id ...
- jquery 操作iframe的几种方法总结
iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作 DOM方法: 父窗口操作IFRAME:window.frames["iframeSo ...
随机推荐
- BundleConfig的作用
在ASP.NET MVC4中(在WebForm中应该也有),有一个叫做Bundle的东西,它用来将js和css进行压缩(多个文件可以打包成一个文件),并且可以区分调试和非调试,在调试时不进行压缩,以原 ...
- Bootstrap历练实例:按钮(Button)插件单个切换
单个切换 如需激活单个按钮的切换(即改变按钮的正常状态为按压状态,反之亦然),只需向 button 元素添加 data-toggle="button" 作为其属性即可,如下面实例所 ...
- mysql 基础,列类型
- dynamic routing between captual
对于人脑 决策树形式 对于CNN 层级与层级间的传递 人在识别物体的时候会进行坐标框架的设置 CNN无法识别,只能通过大量训练 胶囊 :一个神经元集合,有一个活动的向量,来表示物体的各类信息,向量的长 ...
- 五、Linux 远程登录
Linux 远程登录 Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ss ...
- Mbps、Kbps、bps、kb、mb区别和换算
Mbps 即 Milionbit pro second(百万位每秒) Kbps 即 Kilobit pro second(千位每秒) bps 即 bit pro second(位每秒) 速度单位,bi ...
- swoole 连接池
proxy_pool.php <?php class ProxyServer { protected $frontends; protected $backends; /** * @var sw ...
- vue 判断是否登录,未登录跳转到登录页
网页一进入判断是否登录,未登录跳转到登录页面 router.js export default new Router({ routes: [ { path: '/', name: 'HelloWorl ...
- 绘制字符串:imagestring()
<?php //1. 绘制图像资源(创建一个画布) $image = imagecreatetruecolor(500, 300); //2. 先分配一个绿色 $green = imagecol ...
- 大道至简读后感——JAVA伪代码
import.java.Dadaozhijain public class YuGongYiShan { //愚公移山 愚公={项目管理人员}: 原始需求={惩山北之塞,出入之迂也}: 沟通方式={聚 ...