1。JSおよびCSSファイルを動的にロードします(ネイティブJSとjQueryを使用)
iframe構造:
frame0(父)
frame2(sub)
frame3(sub)
frame2でイベントをトリガーし、JS、CSSファイル、およびDOM要素をFrame3に動的にロードします3?
*同じレベルの間で呼び出すことができ、同じレベルを子どもの親子の方法で呼び出すことができます
parent.parentfram( "この方法は他の子どもの農場を呼び出しています");
1.jqueryのappend()
コードコピーは次のとおりです。
高速速度、同期(jQueryを導入する必要があります)
var obody = document.getElementById( "frame3_id")。contentwindow。$( "body");
var str = "<div> ... </div>"
var scripttag = document.getElementById( "frame3_id")。contentwindow.document.getelementbyid( "pop");
if(!scripttag){
obody.append(str);
}
var oscript = document.createelement( "script");
oscript.id = "oscript1";
oscript.type = "text/javascript";
oscript.src = "/test.js";
var otag1 = document.getElementById( "frame3_id")。contentwindow.document.getelementbyid( "oscript1");
if(!otag1){
obody.append(oscript);
}
document.getElementById( "frame3_id")。contentwindow.test();
**********************************
上記の例:a。
**********************************
2.js appendChild()
遅い速度、非同期(JSがロードされているかどうかを判断する必要があります)
レッスン2:
コードコピーは次のとおりです。
var str = "<div> ... </div>"
var popdiv = document.createelement( 'div');
popdiv.style.xx = xxx;
popdiv.id = "pop";
popdiv.innerhtml = str;
var obody = document.getElementById( "frame3_id")。contentwindow.document.getelementsbytagname( "body")[0];
var ohead = document.getElementById( "frame3_id")。contentwindow.document.getelementsbytagname( "head");
if(ohead && ohead.length){
ohead = ohead [0];
}それ以外{
ohead = obody;
}
var elemdivtag = document.getElementById( "frame3_id")。contentwindow.document.getelementbyid( "pop");
if(!elemdivtag){
obody.appendchild(popdiv)
}
var oscript = document.createelement( "Script");
oscript.id = "oscript1";
oscript.type = "text/javascript";
oscript.src = "/test.js";
var scripttag = document.getElementById( "main")。contentwindow.document.getelementbyid( "oscript1");
if(!scripttag){
ohead.appendchild(oscript);
}
oscript.onload = oscript.onreadystatechange = function(){
if((!this.readystate)|| this.readystate == "complete" || this.readystate == "loaded"){
document.getElementById( "main")。contentwindow.test();
}それ以外{
console.info( "oscript2.jsファイルをロードできない");
}
}