window.frames用法

Posted zuichumx0826

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.frames用法相关的知识,希望对你有一定的参考价值。

 

window.frames[]

功能:frames[]是窗口中所有命名的框架组成的数组。这个数组的每个元素都是一个Window对象,对应于窗口中的一个框架

语法:window.frames

浏览器窗口中每个定义的框架都是frames[]数组中的元素。

假设ifr 是一个以存在的 iframe ID NAME : 获取iframe的方法有:

document.getElementById(“ifr”);

window.frames[“ifr”];

要想使用iframe内的函数,变量就必须通过第二种方法.因为它取的是一个完整的DOM模型第一种方法只是取出了一个OBJECT而已.

如果只想改变iframe src 或者 border , scrolling attributes(property不是一个概念,property是不能写在标签内的,比如:scrollHeight,innerhtml),就需要用到第一种方法.

如果想取得iframe的页面(不是iframe本身),就需要使用第二种方法,因为它取得的是一个完整的DOM模型,比如想得到iframedocument.body的内容,就只能用第二种方法.

还要注意的是,如果在iframe的页面未完全装入的时候,调用iframeDOM模型,会发生很严重的错误,所以,你要准备一个容错模式.

frames.length属性存放了frames[]数组的长度。

注:frames[]数组的元素内部还可以有框架,所以frames[i]可以有自己的frames[]数组。

实例1检测当前页面中框架个数。

代码:

<script type="text/javascript">
document.write( "框架个数:"+window.frames.length );
</script>

这段代码的效果为:框架个数:1

注:本页面中包含有一个<iframe>定义的框架。

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

例如树形结构图:

function init() {
    var setting = {
            data : {key : {title : "t"},simpleData : {enable : true}},
            callback : {onClick : onTreeClick}
    };    
    $.ajax({type : ‘get‘,
                url : "<s:property value=‘basePath‘/>view/power/department!departjson"+ "?a=" + new Date(),
                success : function(data) {
                    var zTreeObj=$.fn.zTree.init($("#treeDemo"), setting, eval("("+ data.valueOf() + ")"));
                }
    });
    //显示收藏夹
    showMemUsers();
    //显示已选用户
    showSelected();
}

function onTreeClick(event, treeId, treeNode, clickFlag) {
    var level=treeNode.level;
    $(window.frames["userFrame"].document).find("#chineseName").val("");
    if(level==1){
        $(window.frames["userFrame"].document).find("#unitId").val(treeNode.id);
        $(window.frames["userFrame"].document).find("#departmentId").val("");
    }else if(level==2){
        $(window.frames["userFrame"].document).find("#departmentId").val(treeNode.id);
        $(window.frames["userFrame"].document).find("#unitId").val("");
    }
    $(window.frames["userFrame"].document).find("#tagForm").submit();
}































以上是关于window.frames用法的主要内容,如果未能解决你的问题,请参考以下文章

javascript宿主对象之window.frames

原生JS转换成jQuery的写法

第8章 BOM

操作 frames 框架下的 dom 内容。

如何获取iframe外面的元素

父子页面之间元素相互操作(iframe子页面)