2023年6月21日发(作者:)
iframe共⽤css、js⽂件因为iframe中调⽤的页⾯都将采⽤统⼀风格,所以它们会有⼀些共⽤的css⽂件,和⼀些js⽂件;如果每个页⾯都去引⽤,
var head = [iframeId].mentsByTagName('head').item(0);if (filetype=="css"){ //判断⽂件类型
var fileref=Element("link");
ribute("rel", "stylesheet") ; ribute("type", "text/css"); ribute("href", filename);}
if (filetype=="js"){ //判断⽂件类型
var fileref=Element('script');//创建标签
ribute("type","text/javascript");//定义属性type的值为text/javascrip ribute("language","JavaScript");
ribute("src", filename);//⽂件的地址
}
if (typeof fileref!="undefined")
Child(fileref);}以上代码并不复杂,⽅法第⼀个参数是iframe在页⾯中的id,第⼆个参数是调⽤⽂件的路径,第三个是⽂件类型,⽤于判断是css⽂件还是js⽂件;可是执⾏出错,说“参数错误”;我晕,仔细查看,没有哪⾥出错啊;郁闷;搞了半天,好半天,终于明⽩;对象建错了,低级错误啊,我来说明⼀下上⾯的代码;第四⾏:var head = [iframeId].mentsByTagName('head').item(0);变量head是⼀个html的节点,但它是当前页⾯中iframe中的页⾯节点,并不是当前页⾯的节点;⽽第六⾏var fileref=Element("link"); 是⽣成当前页的节点,所以后⾯倒数第⼆⾏的Child(fileref); ⾃然是⽆法将⼦节点添进去,提⽰参数错误也是正常的了。修正代码,之后正常,代码如下://动态加载css⽂件或js⽂件function attachFile(iframeId,filename, filetype){
var head = [iframeId].mentsByTagName('head').item(0);if (filetype=="css"){ //判断⽂件类型
var fileref=[iframeId].Element("link");
ribute("rel", "stylesheet") ; ribute("type", "text/css"); ribute("href", filename);}
if (filetype=="js"){ //判断⽂件类型
var fileref=[iframeId].Element('script');//创建标签
ribute("type","text/javascript");//定义属性type的值为text/javascrip ribute("language","JavaScript");
ribute("src", filename);//⽂件的地址
}
if (typeof fileref!="undefined")
Child(fileref);}为了批量添加css⽂件引⽤,另外⼜写了⼀个⽅法//加载所需的css与js⽂件,该⽅法仅供页⾯使⽤function attachCssOrJs(iframeId){if(iframeId==null)iframeId="workArea";//if([iframeId]==null)return;//加载css⽂件var cssPath="../Console/Style/";
var cssFile=new Array("Public","Menu","Tree","Context","Accordion");e();for(var i=0;i<;i++){ attachFile(iframeId,cssPath+cssFile[i]+".css", "css");}//加载javascript⽂件var jsPath="../Console/JavaScript/";var jsFile=new Array("Parameter","Utilities","XmlHelper","Node","Menu","Drop","Tree","Context","Accordion","MenuEvent");e();for(var i=0;i<;i++){ attachFile(iframeId,jsPath+jsFile[i]+".js", "js");}}⼀切正常;在iframe中点击右键,查看源码,css⽂件与Js⽂件的引⽤代码都没⽤了,但是css与js依然在起效果;这算是⼀种安全措施吧,当⽤户单独打开⼀个页⾯时,将是不正常的,只有在管理界⾯()内打开,才是正确的。
2023年6月21日发(作者:)
iframe共⽤css、js⽂件因为iframe中调⽤的页⾯都将采⽤统⼀风格,所以它们会有⼀些共⽤的css⽂件,和⼀些js⽂件;如果每个页⾯都去引⽤,
var head = [iframeId].mentsByTagName('head').item(0);if (filetype=="css"){ //判断⽂件类型
var fileref=Element("link");
ribute("rel", "stylesheet") ; ribute("type", "text/css"); ribute("href", filename);}
if (filetype=="js"){ //判断⽂件类型
var fileref=Element('script');//创建标签
ribute("type","text/javascript");//定义属性type的值为text/javascrip ribute("language","JavaScript");
ribute("src", filename);//⽂件的地址
}
if (typeof fileref!="undefined")
Child(fileref);}以上代码并不复杂,⽅法第⼀个参数是iframe在页⾯中的id,第⼆个参数是调⽤⽂件的路径,第三个是⽂件类型,⽤于判断是css⽂件还是js⽂件;可是执⾏出错,说“参数错误”;我晕,仔细查看,没有哪⾥出错啊;郁闷;搞了半天,好半天,终于明⽩;对象建错了,低级错误啊,我来说明⼀下上⾯的代码;第四⾏:var head = [iframeId].mentsByTagName('head').item(0);变量head是⼀个html的节点,但它是当前页⾯中iframe中的页⾯节点,并不是当前页⾯的节点;⽽第六⾏var fileref=Element("link"); 是⽣成当前页的节点,所以后⾯倒数第⼆⾏的Child(fileref); ⾃然是⽆法将⼦节点添进去,提⽰参数错误也是正常的了。修正代码,之后正常,代码如下://动态加载css⽂件或js⽂件function attachFile(iframeId,filename, filetype){
var head = [iframeId].mentsByTagName('head').item(0);if (filetype=="css"){ //判断⽂件类型
var fileref=[iframeId].Element("link");
ribute("rel", "stylesheet") ; ribute("type", "text/css"); ribute("href", filename);}
if (filetype=="js"){ //判断⽂件类型
var fileref=[iframeId].Element('script');//创建标签
ribute("type","text/javascript");//定义属性type的值为text/javascrip ribute("language","JavaScript");
ribute("src", filename);//⽂件的地址
}
if (typeof fileref!="undefined")
Child(fileref);}为了批量添加css⽂件引⽤,另外⼜写了⼀个⽅法//加载所需的css与js⽂件,该⽅法仅供页⾯使⽤function attachCssOrJs(iframeId){if(iframeId==null)iframeId="workArea";//if([iframeId]==null)return;//加载css⽂件var cssPath="../Console/Style/";
var cssFile=new Array("Public","Menu","Tree","Context","Accordion");e();for(var i=0;i<;i++){ attachFile(iframeId,cssPath+cssFile[i]+".css", "css");}//加载javascript⽂件var jsPath="../Console/JavaScript/";var jsFile=new Array("Parameter","Utilities","XmlHelper","Node","Menu","Drop","Tree","Context","Accordion","MenuEvent");e();for(var i=0;i<;i++){ attachFile(iframeId,jsPath+jsFile[i]+".js", "js");}}⼀切正常;在iframe中点击右键,查看源码,css⽂件与Js⽂件的引⽤代码都没⽤了,但是css与js依然在起效果;这算是⼀种安全措施吧,当⽤户单独打开⼀个页⾯时,将是不正常的,只有在管理界⾯()内打开,才是正确的。
发布评论