iframe.contentWindow 操作iframe

2020-12-21 09:42:42

一、在使用iframe的页面,要操作这个iframe里面的DOM元素可以用:

contentWindow、contentDocument(测试的时候chrome浏览器,要在服务器环境下)

 

1、先获取iframe里面的window对象,再通过这个对象,获取到里面的DOM元素

例:

var ifr = document.getElementById('iframe');  //先获取到了iframe

ifr.contentWindow.document.getElementById('XXX');  //先通过ifr.contentWindow获取到iframe中的window对象,然后通过document.getElementById('XXX'),获取iframe中的DOM

<iframe  src="a.html"  id=""></iframe>

 

注:iframe.contentWindow这里,返回的是iframe的window对象,所以后面可以接着调用document方法,再接着调用getElementByTagName。那么就可以对iframe里面的元素进行操作了。

 

二、在iframe本页面,要操作这个iframe的父页面的DOM元素(即嵌套这个iframe的页面)可以用:

window.parent、window.top(这里的top是获取的顶层,即有多层嵌套iframe的时候使用)

var ifr = document.getElementByTagName('iframe');

ifr.parent.document.getElementById('XXX');

<iframe  src="a.html"  id=""></iframe>

 

三、onload事件

非IE下用法

ifr.onload = function() { //SOMETHING }

 

IE下,需要绑定

ifr.attachEvent('onload',function() { //something });


  • 2020-11-17 09:50:32

    android开发怎样让悬浮Activity只是隐藏而不销毁

    android在mainfest中给Activity添加一个属性 android:theme="@android:style/Theme.Dialog",可以使Activity悬浮在其它窗口上面,在布局中可以设置activity的大小,当点击悬浮Activity边缘以外区域时,Activity会消失,观察消失时其生命周期会发现执行了finish()方法从而执行了onDestroy方法。有时我们只是需要将Activity隐藏,并不销毁,此时可以重写finish方法,如下:

  • 2020-11-17 09:56:02

    uni-app直接用webiew打开本地js资源

    如果再结合activity不销毁,隐藏的方法,像里面传递参数,来改变页面,不销毁webview,我发现这样比原生的都要快。这样又能用于app端,又能生成小程序,何乐而不为

  • 2020-11-17 09:59:05

    在线图片取色器工具

    不知道为啥,现在idea的取色工具怎么都不好使了,给开发人员反映过,都一年了有没修复咋地。 网上搜到一个取色工具,把图片传上去,就可以点击取色。不错。