js 监视 iframe 或 frameset 的内容变动(文盲第二版)

之前写了一个js 监视 iframe 或 frameset 的内容变动,结果有人留言了,然后仔细一看,代码通用性好差,当时自己的项目能用了,就没再继续研究了

今天经过一番调试,弄出来了下边这个效果,估计大家应该都能用起来了

文件:test_iframe_400.html



 
  
  
  
  
  
  Document
 
 
  100
  800
  
400

文件:test_iframe_100.html



 
  
  
  
  
  
  Document
 
 
  400
  800
  
100

文件:test_iframe_800.html



 
  
  
  
  
  
  Document
 
 
  100
  400
  
800
先定义了三个iframe需要嵌套的文件,页面内互相链接其他内容
然后,开始实现监控iframe

文件:test_iframe.html



 
  
  
  
  
  
  Document
  
 
 
  
100高 400高 800高
a窗口 b窗口


好了,功能完成,包括url变动监听,url加载完成后宽高变动

这个监控其实很简单,那就是对window对象frames进行监控,当页面具有frameset和iframe时,frames中就具有了对应的子窗口

然后,对事件进行绑定,当window加载成功时,会触发onload事件,那么直接绑定就好

再然后,当页面地址发生变动时,可以触发window.onunload事件,但是已绑定的onload事件不好使了

然后,我们在触发onunload事件的线程外重新获取frames,并对相应的子窗口重新进行事件绑定,因为你页面地址一变动,frames就重构了

最后,再对文档加载完毕时进行监听,再最后,完成自己需要完成的功能即可

注意:对于跨域的页面引用,这个js不太适用,跨域问题如果谁解决了,请在本文后留言,文盲也想学习一下

你可能感兴趣的:(javascript,iframe)