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-08-16 16:09:30

    android WebView 注入js 几种方式

    有时我们开发中需要将js 注入到我们本地,有可能你会说,放在Web不就可以了吗,的确,但是需求就是这样的

  • 2020-11-05 23:20:29

    mac更新node版本

    initializer function 0x0 not in mapped image for /usr/local/bin/node,除了上面的问题 你或许还出现过 no such file or directory 这样的提示,总之更新完以后node直接不能用了。

  • 2020-11-07 16:31:02

    nginx配置X-Frame-Options允许多个域名iframe嵌套

    有时候我们需要允许多个url的来源,但是又不能全部开放,所以应该匹配第三种方法ALLOW-FROM url,那么多个url该如何配置呢,百度了所有网站都没有找到,那么这里写给大家,其实很简单: add_header X-Frame-Options 'ALLOW-FROM https://xxx.xxxxxx.com https://xxx2.xxxxxxx.com'; 就是使用空格隔开就好了!

  • 2020-11-08 08:31:51

    meteor在不同端口启动服务

    当没有任何参数时,run是默认行为,在幕后,它3000端口开启node.js服务器实例,同时开启监听3001端口的MongoDB服务