JS操作iframe元素

时间: 2018-12-23阅读: 1188标签: iframe

iframe就是我们常用的iframe标签:<iframe>。iframe标签是框架的一种形式,也比较常用到,iframe一般用来包含别的页面,例如我们可以在我们自己的网站页面加载别人网站或者本站其他页面的内容。  


demo1.html页面中有个iframe元素,iframe元素的src是iframe1.html,怎么在demo1.html页面中操作iframe1.html页面

答曰:demo1.html中,js先找到iframe元素(比如命名为:oIframe),那么oIframe.contentWindow就是iframe1.html这个页面的window,剩下了就是DOM操作的事情了。


举例:要求:demo1.html页面中有个按钮,点击按钮,iframe1页面某些文字改变颜色

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>我是demo1.html</title>
	</head>
	<body>
		<input type="button" name="btn1" id="btn1" value="点击按钮控制iframe页面" />
		<br />
		<iframe id="iframe1" src="iframe1.html" width="300" height="200"></iframe>
		<script>
			window.onload = function(){
				var oBtn1 	= document.getElementById(‘btn1‘);
				//获取iframe元素,oIframe.contentWindow就是iframe1.html页面的window对象
				var oIframe = document.getElementById(‘iframe1‘);
				oBtn1.onclick = function() {
					//demo1.html页面中的js控制了iframe1.html页面的字体颜色
					oIframe.contentWindow.document.body.style.color = ‘red‘;
				}
			}
		</script>
	</body>
</html>


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>我是iframe1.html</title>
	</head>
	<body>
		父级页面要改变我的颜色
	</body>
</html>


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/1676

iframe高度自适应的6个方法

JS自适应高度,其实就是设置iframe的高度,使其等于内嵌网页的高度,从而看不出来滚动条和嵌套痕迹。对于用户体验和网站美观起着重要作用。 如果内容是固定的,那么我们可以通过CSS来给它直接定义一个高度

载入的iframe页面会挡住父级页面一切冒泡事件,怎么破?

最近遇到个坑,页面引入了一个iframe,结果页面上所有的点击事件都失效了。解决办法是手动绑定iframe里面事件,在事件里面触发当前窗口事件

iframe的使用

window.postMessage 是允许两个(跨域)窗口或 iframes 发送数据信息。像是跨域的AJAX,但不是浏览器跟服务器之间交互,而是在两个客户端之间通信。

iframe标签刷新页面停留在当前页

整体思路:在iframe所在当前页面地址url后拼接 #+targetUrl,iframe标签内a标签跳转,父页面添加如下方法,iframe标签内调用父页面js方法用 window.parent.jsfun() 调用。

iframe父子传参通信

在最近的项目里面,用到了不少关于iframe父子传参通信的相关操作,记录一下,虽然很简单,但是确实十分有用的;iframe通信可以分为2种,跨域和非跨域两种.分别说明;

IE9/IE10使用隐藏iframe异步上传文件问题

表单提交是同步的,会阻塞页面,可以将表单提交到一个iframe中,父页面就不会阻塞了。需要设置form的target属性等于iframe的name属性。服务器端只是单纯对表单提交的响应,可以返回一段script脚本作为http响应流,执行javascript。

iframe高度自适应

我们知道,iframe最大的问题,就是高度的问题,如果你内容的高度是变化,要么你就给你的容器写个固定的高度,如果内容是未知的,显然这个方法并不能达到我们的想要的效果,要么就是通过js来解决这个问题。

iframe在iphone手机上的问题

通过document.addEventListener(\\\"scroll\\\",function(){})对页面滚动监听事件进行监听,但ios下$(document).scrollTop()值始终为0,对页面监听无效。

iframe中跨域页面访问parent的方法

在AAA.com域名下的index.htm页面中内嵌了BBB.com域名下的一个页面index.htm,正常情况下iframe内部的index.htm页面是无法访问父页面index.htm中的任何dom对象或者js函数的,因为跨域,但我们经常又需要做一些参数回传的事情怎么办呢?以上的这种实现方式就很好的解决了这个问题

内嵌iframe页面在IOS下会受内部元素影响自动撑开的问题

具体表现为iframe页面内的子元素一旦超出原先的边界,只要能影响到html元素的宽高,就会自动撑开iframe,即使html元素设置了overflow:hidden也没用。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!