javascript跨层查找frame对象

javascript跨层查找frame对象

月光魔力鸭

2018-08-31 17:00 阅读 920 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
在web开发过程中,现在JSON 已经到了俯拾皆是的地步了,操作JSON对于JS来说非常简单,那么我们对于JSON的转化是如何应对的呢?
nvm install 16.15.0 : The process cannot access the file because it is being used by another process
开发的项目中有使用到微信开发,由于之前偶尔才用一次,也是用的别人的地址和测试号,这里记录下自己的操作。防止后续遗忘。
先记录下,不定哪天就查了..防止找不到或不全
最近做个nodejs的项目,使用了thinkjs 3.0 的框架,编辑器为vs code ,之前用的好好的,每次 . 后都有提示的,可是使用了多模块后发现.. model的提示没有了..
在项目开发过程中,分页是少不了的,之前封装了一个分页组件,样式是基于bootstrap的样式,当然也可以自己来修改
java 对象中有很多引用,甚至会出现循环引用,比如 user 对象中有 school 对象,school 对象中又有 user 对象,这样在对 user 对象序列化的时候,就会出现死循环,导致内存溢出。通过一定的方式,将每个对象增加ID 和 REF 引用标识最终可以解决这个问题
整理下关于axios的使用,一些常用的调用、处理以及其他。