您的位置:首页 > 其它

iframe 子窗体和外部窗体的一些特性

2018-01-24 12:56 344 查看
1、iframe的一些特性:

      (1)window.frameElement   返回嵌入当前
window
对象的元素(比如 
<iframe>
 或者 
<object>
),如果当前
window
对象已经是顶层窗口,则返回
null


      (2)window.frameElement.contentWindow  能够返回iframe的文档

   例如:外窗体 out.html

<body>
<div id="pare">hello hava</div>
<div class="myFrame"><span>业务一</span><iframe src="a.html"></iframe></div>
<div class="myFrame"><span>业务二</span><iframe src="b.html"></iframe></div>
<script type="text/javascript">
window.aa = 5678;
console.info(window.frameElement);
console.info(window.frameElement.contentWindow);
</script>
</body>里面两个iframe: a.html 
<body>
<script type="text/javascript">
console.info(window.frameElement);
console.info(window.frameElement.contentWindow);
</script>
<div></div>
</body>
在上面代码中可以看到,外层的out.html中
frameElement 对象返回null,则自由iframe中元素有此属性。a.html中
frameElement
返回了:



frameElement.contentWindow  
 


frameElement 返回元素内容,frameElement.contentWindow返回对象,可以直接当做对象使用。

 
 (3)window.parent 返回对象的父窗体,如果当前对象是顶层窗体  window.parent=window

 
  ( 4 )  window.frames 返回当前窗口的所有子框架元素,可以通过遍历获取当前文档下的所有iframe,也可以通过

 
          var iframes = document.getElementsByTagName("iframe");  查找所有的iframe遍历

 
  

2、父子窗体之间的变量的共享机制:

 
    (1)、子类可以获取父类的全局变量,通过window.parent.变量名

 
    (2)、子类不能直接获取获取父类的dom元素  window.parent.getElementById('id'),此方法获取不到参数

 
    (2)、父类不能直接获取子类的全局变量     window.frames[0] 获取不到子类的变量

3、父子窗体之间cookie共享机制:

 
    (1)、父类的cookie子类是否可以获取:父类可以获取子类存储的cookie。

 
     (2)、子类的cookie父类是否可以获取:子类可以获取父类存储的cookie。

 
 

 
  

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iframe