javascript跨层查找frame对象

javascript跨层查找frame对象

月光魔力鸭

2018-08-31 17:00 阅读 962 喜欢 0 查找frame js获得frame

在开发过程中经常会碰到跨frame 去操作的需求,那么如何获得这个frame呢,这里写了一个工具类,用来通过name获得frame的jq对象; 以下代码是基于jquery的基础上实现的,so...引入jq是必须的; 看剑--->

//根据name获得frame的jq对象,直接调用: var $frame = frameTool.findFrameByName('frameName');
var frameTool = {
    findFrameByName : function(name){
        var w = window.top.document;
        //向下查找
        var num = 0;
        var $iframes = $(w).find('iframe');
        var result = frameTool.findFrameByNameOfArr($iframes,name,0);
        return result;
    },
    frameLevel : 5,//frame 层级
    findFrameByNameOfArr : function(arr,name,num){
        num++;
        if(num == frameTool.frameLevel){
            return null;
        }
        var result = null;
        for(var i=0;i<arr.length;i++){
            var temp = arr[i];
            if($(temp).attr('name') == name){
                result =  $(temp);
                break;
            }else{
                var tempArr = $(temp).contents().find('iframe');
                if(tempArr.length>0){
                    result = frameTool.findFrameByNameOfArr(tempArr,name,num);
                    if(result == null){
                        continue;
                    }else{
                        break;
                    }
                }else{
                    continue;
                }
            }
        }
        return result;
    }
};
//求大师指正..优化代码

转载请注明出处: https://chrunlee.cn/article/js-frame-check.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
在我们通过canvs画图的时候经常会用到圆,且需要计算出圆上某点的坐标,由于我数学没学好,总是记不得怎么获取,这里记录下,加深记忆
codewars上的一个题目,这里记录下解决方法。
如何通过js调用本地摄像头呢?获取后如何对视频进行截图呢?在这里跟大家做一个简易的Demo来实现以上几个功能。
在项目开发过程中,分页是少不了的,之前封装了一个分页组件,样式是基于bootstrap的样式,当然也可以自己来修改
前端时间搞了个小转码,放在后台,但是特别占带宽,想着能不能从前台把这个事搞定呢?读取图片的二进制,然后将字节流处理后重新生成图片展示处理啊。
在文件上传的时候,经常会对文件的mime进行限制,比如图片 image/jpg 等,让用户可以选择图片,而不是其他的文件。
偶尔练习下canvas,这里简单记录下常用API,防止遗忘..加深记忆..努力提高..争取突破...daydayup
在使用echarts 来做统计报表的时候,由于数量较多,准备将同类型的相同属性抽取出来,然后用来做默认属性的。结果发现一个问题