zoukankan      html  css  js  c++  java
  • ASP.NET 获取不同frame中的控件

           最近在做网站时遇到一个问题,需要获取不同frame中的控件,请教了一些同事,他们都说是无法取到的

    在网上查找了很多资料,找到了解决方法,现在整理一下当初的解决思路:

    1、我需要在mainFrame中控制leftFrame中一个DIV控件的显示,如图示:

    2、直接在mainFrame中通过document.getElementById('div1')去获取,结果取不到;

    3、既然直接取不到,那我可不可以先取得leftFrame中所有的控件呢,尝试了一下,是可以的;

     1 var iObj=parent.document.getElementById('leftFrame').contentWindow; 

    4、都已经取到所有控件了,那我取一个div,不是就很好取了,如下;

     1 iObj.document.getElementById('divTierNotes').style.display='none'; 

    5、这样问题就解决了。

    备注:

    用iFrame嵌套页面时,如果父页面要获取子页面里面的内 容,可以使用contentWindow和contentDocument

    contentWindow和contentDocument的区别:

    >contentWindow:这是个只读属性,返回指定的iFrame的 window对象,各个主流浏览器都支持。

    >contentDocument:Firefox支持,IE8以上版本支持,可 取得iFrame的document对象,需要如此访问 document.frames['leftFrame'].doucment。

    完整代码:

     1 JS文件:
     2 function chkTierNoteDis(strDis)
     3 {
     4     //兼容所有浏览器
     5     var iObj=parent.document.getElementById('leftFrame').contentWindow; 
     6     iObj.document.getElementById('div1').style.display=strDis;
     7 }
     8 
     9 后台:
    10 string strDis = "none";
    11 ClientScript.RegisterStartupScript(this.GetType(), "key", "<script>chkTierNoteDis('" + strDis + "');</script>");
  • 相关阅读:
    简单数列极限证明
    既然已经半退役了,就写点新东西吧
    快速幂(整数+实数)
    D. Constant Palindrome Sum 差分+思维
    排序网络
    ClickHouse数据同步
    C++ 复习
    使用mac查看iphone uuid方法
    15. 蓝绿发布导致需求不能验证
    通过反射获取对象的属性名、属性值
  • 原文地址:https://www.cnblogs.com/AnneHan/p/5505611.html
Copyright © 2011-2022 走看看