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 });


  • 2019-09-28 08:36:43

    Ehcache配置持久化到硬盘,只存储到硬盘

    Ehcache默认配置的话 为了提高效率,所以有一部分缓存是在内存中,然后达到配置的内存对象总量,则才根据策略持久化到硬盘中,这里是有一个问题的,假如系统突然中断运行 那内存中的那些缓存,直接被释放掉了,不能持久化到硬盘;这种数据丢失,对于一般项目是不会有影响的,但是对于我们的爬虫系统,我们是用来判断重复Url的,所以数据不能丢失;

  • 2019-09-28 09:33:18

    put与putIfAbsent区别

    put在放入数据时,如果放入数据的key已经存在与Map中,最后放入的数据会覆盖之前存在的数据, 而putIfAbsent在放入数据时,如果存在重复的key,那么putIfAbsent不会放入值。

  • 2019-09-29 10:28:04

    程序员实用工具网站

    程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。