在开发过程中经常会碰到跨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