Dieses Mal werde ich Ihnen das JS/CSS-Plug-In für dynamisches Laden vorstellen. Was sind die Vorsichtsmaßnahmen beim Erstellen des JS/CSS-Plug-Ins für dynamisches Laden? Werfen wir einen Blick darauf.
JavaScript erstellt KnotenZum Körper oder Kopf hinzufügen
JS-Code hinzufügen:
var n = document.createElement("script"); n.setAttribute("type", "text/javascript"); n.setAttribute("src", i);document.body.appendChild(n); document.head.appendChild(n);
Schreiben Sie einen Code, um Knoten-JS dynamisch hinzuzufügen:
/* es6 中 函数设置默认参数可以使用 例:function 函数名(变量= 默认值) {...} 如果想要兼容可以使用 例:function 函数名(变量) {if(变量==undefined){变量= 默认值}....} */function cr_node(i, l = "body") { //创建节点并添加 t = i.split(".").reverse()[0];//获取后缀 var n = null; if (t == "js") {//后缀判断 n = document.createElement("script"); n.setAttribute("type", "text/javascript"); n.setAttribute("src", i); } else if (t == "css") { n = document.createElement("link"); n.setAttribute("rel", "stylesheet"); n.setAttribute("href", i); } if (n != null) { if (l == "body") { document.body.appendChild(n); } else if (l == "head") { document.head.appendChild(n); } else { l.appendChild(n); } } return n; }
//添加bootstrap样式cr_node("http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css","head")//默认添加jquery到<body>...</body>cr_node("http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js");//添加jquery到<head>...</head>cr_node("http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js","head");//添加jquery到<div id="id">...</div>cr_node("http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js",document.getElementById("id"))
2. Bindungsereignisfunktion hinzufügen
Einen einzelnen Knoten hinzufügen und das Ereignis binden
function cr_node(i, l = "body") {....}function addNode(o, c = undefined) { //单个添加 var n = null; if(typeof(o) == "object") { n = cr_node(o.src, (o.parent ? o.parent : "body")); if(typeof(o.load) == "function") { n.onload = o.load; //绑定加载事件 } if(typeof(o.err) == "function") { n.onerror = o.err; //绑定错误事件 } } else if(typeof(o) == "string") { n = cr_node(o); //直接添加节点 if(typeof(c) == "function") { n.onerror = n.onload = c; //绑定加载事件 } } }
Gebrauchsanweisung:
//直接使用addNode("http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js",function(){...});//完整使用addNode({ "src": "http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js", "load": function() { console.log("加载成功"); console.log($("body").html()); }, "err":function() { console.log("加载失败"); }, "parent": document.getElementById("id")//不写默认是body})
3. Versuchen Sie, eine Funktion für die Stapeladdition zu schreiben
Wenn Sie nur hinzufügen, können Sie die folgende Funktion verwenden:
function addNodes(o, index = 0) { //多个添加 if (o.src.length > index && typeof(o.src) == "object" && o.src.length > 0) { var n = cr_node(o.src[index], o.parent); if (o.src.length - 1 == index && typeof(o.load) == "function") { n.onerror = n.onload = o.load; } else { n.onerror = n.onload = function() { addNodes(o, index + 1); } } } }
Anwendungsbeispiele:
addNodes({ "src":["http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.css","http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js","http://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js","http://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"],"parent":"head", "load":function(){ console.log(1111); console.log($("body").html()); } })
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Verwandte Lektüre:
So verwenden Sie s-xlsx zum Importieren und Exportieren von Excel-Dateien
So verwenden Sie JavaScript dazu Textdaten speichern
Segmentierter Haltepunkt-Upload der Browserdatei
Das obige ist der detaillierte Inhalt vonjs/css lädt JS-Plug-Ins dynamisch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!