js和frame

    技术2022-05-20  46

    1.访问frame

    //访问对象

    window.document.getElementById(frameid).contentWindow.document.getElementById(elementid)

    //访问函数

    window.document.getElementById(frameid).contentWindow.fun() window.document.frames[index].document.getElementById(elementid) window.document.frames[framename].document.getElementById(elementid)

    2.frame页面里访问父页面

    parent到父框的window级别

    parent.fun()

    parent.a    //父框js定义的  var a  = “abc”

     

    3.在子页面中,把父亲的路径调转了

    parent.location.href="index.jsp";

     

     

    -----------------

    top:该变更永远指分割窗口最高层次的浏览器窗口。如果计划从分割窗口的最高层次开始执行命令,就可以用top变量。

    parent:该变量指的是包含当前分割窗口的父窗口。如果在一个窗口内有分割窗口,而在其中一个分割窗口中又包含着分割窗口,则第2层的分割窗口可以用parent变量引用包含它的父分割窗口。

    opener:指用WINDOW.OPEN等方式创建的新窗口对应的原窗口。

     

    附:Window对象、Parent对象、Frame对象、Document对象和Form对象的阶层关系:Windwo对象→Parent对象→Frame对象→Document对象→Form对象,

    如下:parent.frame1.document.forms[0].elements[0].value;

     

     

    问题:在一个页面嵌入框架<iframe>,然后在框架中使用jvascript脚本:parent.xx.value='xxxxx'; 在IE中可以正常看到赋值,但是在firefox中则不能完成赋值。请问在firefox中调用父框架的对象应该是哪个,是否和IE兼容?

    解答:window.parent.document.form名.xx.value='xxxxx';   window可省略。

    parent.document.form名.xx.value='xxxxx';   parent.document.getElementById("xx").value='xxxxx'; 

     

     

    window.parent与window.opener的区别 javascript调用主窗口方法

    1:   window.parent 是iframe页面调用父页面对象举例:      a.html

    <html>

    <head><title>父页面</title></head>

    <body>

    <form name="form1" id="form1">

    <input type="text" name="username" id="username"/>

    </form>

    <iframe src="b.html" width=100%></iframe>

    </body>

    </html>

    如果我们需要在b.htm中要对a.htm中的username文本框赋值(就如很多上传功能,上传功能页在Ifrmae中,上传成功后把上传后的路径放入父页面的文本框中),我们应该在b.html中写:

    <script type="text/javascript">

    var _parentWin = window.parent ;

    _parentWin.form1.username.value = "xxxx";

    </script>

    2:   window.opener 是window.open 打开的子页面调用父页面对象opener:对打开当前窗口的window对象的引用,如果当前窗口被用户打开,则它的值为null。

    self:自引用属性,是对当前window对象的应用,与window属性同义。

    self代表自身窗口,opener代表打开自身的那个窗口,比如窗口A打开窗口B。如果靠window.open方法,则对于窗口B,self代表B自己,而opener代表窗口A。

    本文来自博客,转载请标明出处:http://blog.csdn.net/jamestaosh/archive/2009/06/20/4284960.aspx


    最新回复(0)