1. Dynamisches Laden von Skripten Mit der wachsenden Nachfrage nach Websites steigt allmählich auch die Nachfrage nach Skripten. Wir müssen zu viele JS-Skripte einführen und die Leistung der gesamten Site reduzieren, daher entstand das Konzept dynamischer Skripte, um die entsprechenden Skripte zum richtigen Zeitpunkt zu laden. Code kopieren Der Code lautet wie folgt:<Skripttyp="text/javascript"> fenster.onload = funktion(){ Alarm (Typ der Browsererkennung); } var flag = true; //Auf true setzen und dann laden wenn (Flagge) { loadScript('browserdetect.js'); //Setze das geladene js } Funktion loadScript(url) { var Skript = Dokument.createElement('Skript'); script.type = "text/javascript"; script.src = URL; //document.head.appendChild(script); //document.head bedeutet <head> document.getElementsByTagName('Kopf')[0].appendChild(Skript); } </script>Dynamische Ausführung von js</p> <p> <Skripttyp="text/javascript"> fenster.onload = funktion(){ } var flag = true; //Auf true setzen und dann laden wenn (Flagge) { var Skript = Dokument.createElement('Skript'); script.type = "text/javascript"; var text = document.createTextNode("alert('Lee')"); //IE6,7,8 Browser melden einen Fehler script.appendChild(text); document.getElementsByTagName('Kopf')[0].appendChild(Skript); } </script>Die Browser IE 6, 7 und 8 betrachten Skripts als spezielles Element und können nicht auf untergeordnete Knoten zugreifen. Aus Kompatibilitätsgründen kann stattdessen das Textattribut verwendet werden. </p> <p> <Skripttyp="text/javascript"> fenster.onload = funktion(){ } var flag = true; //Auf true setzen und dann laden wenn (Flagge) { var Skript = Dokument.createElement('Skript'); script.type = "text/javascript"; script.text = "alert('Lee')"; script.appendChild(text); document.getElementsByTagName('Kopf')[0].appendChild(Skript); } </script> Muss mit allen Browsern kompatibel sein 2. Stile dynamisch laden Um Stylesheets dynamisch zu laden, beispielsweise beim Wechseln von Website-Skins. Es gibt zwei Möglichkeiten, ein Stylesheet zu laden: eine ist das <link>-Tag und die andere ist das <style>-Tag. Dynamische Ausführunglink Code kopieren Der Code lautet wie folgt:varflag = wahr; wenn (Flagge) { : Laden Sie Styles('basic.css'); } Funktion loadStyles(url) { var link = document.createElement('link');link.rel = 'Stylesheet'; link.typ = "text/css"; link.href = URL; document.getElementsByTagName('head')[0].appendChild(link); } Dynamischer Ausführungsstil Code kopieren Der Code lautet wie folgt:<Skripttyp="text/javascript"> varflag = wahr; wenn (Flagge) { var Stil = document.createElement('Stil'); Stil.Typ = "Text/CSS"; //var box = document.createTextNode('#box{background:red}'); // IE6,7,8 wird nicht unterstützt //Stil.AnhängenUntergeordnetesElement(Box); document.getElementsByTagName('Kopf')[0].appendChild(Stil); insertRule(document.styleSheets[0], '#box', 'Hintergrund:rot', 0); } Funktion insertRule(Blatt, SelektorText, CSSText, Position) { //Wenn es nicht IE6,7,8 ist wenn (Blatt.Regel einfügen) { Blatt.InsertRule(SelectorText + "{" + cssText + "}", Position); //Wenn es IE6,7,8 ist } sonst wenn (sheet.addRule) { sheet.addRule(SelektorText, CSSText, Position); } } </Skript> |
<<: CSS zum Erzielen des Skeleton Screen-Effekts
>>: Layui implementiert den Bestätigungscode der Anmeldeschnittstelle
Inhaltsverzeichnis 1 Node.js-Methode zum Senden v...
Vorwort Beim Erstellen einer Seite stoßen wir häu...
Überwachungsmethode in Vue betrachten Beachten Na...
Laden Sie die Windows-Version von Nginx von der o...
Manchmal kann es vorkommen, dass eine SQL-Anweisu...
Rasterlayout Dem übergeordneten Element hinzugefü...
Inhaltsverzeichnis Überblick 1. Kompositions-API ...
Inhaltsverzeichnis 1. Übersicht 1.1 Erstellen ein...
CocosCreator Version 2.3.4 Drachenknochenanimatio...
Deaktivieren Sie SeLinux setenforce 0 Dauerhaft g...
Inhaltsverzeichnis 1. Projektbeschreibung: 2. Pro...
Inhaltsverzeichnis 01. Hörer beobachten (1) Funkt...
Umsetzungsideen: Verwenden Sie text-shadow in CSS...
Vorwort Für Datei- oder Verzeichnisberechtigungen...
In diesem Artikel wird der spezifische Code von j...