Heim Web-Frontend js-Tutorial js加载之使用DOM方法动态加载Javascript文件_javascript技巧

js加载之使用DOM方法动态加载Javascript文件_javascript技巧

May 16, 2016 pm 05:16 PM
动态加载

传统上,加载Javascript文件都是使用<script>标签。 <BR>就像下面这样: <BR><script type="text/javascript" src="example.js"></script>
js加载之使用DOM方法动态加载Javascript文件_javascript技巧 
<script>标签很方便,只要加入网页,浏览器就会读取并运行。但是,它存在一些严重的缺陷。 <BR>  (1)严格的读取顺序。由于浏览器按照<script>在网页中出现的顺序,读取Javascript文件,然后立即运行,导致在多个文件互相依赖的情况下,依赖性最小的文件必须放在最前面,依赖性最大的文件必须放在最后面,否则代码会报错。 <BR>  (2)性能问题。浏览器采用"同步模式"加载<script>标签,也就是说,页面会"堵塞"(blocking),等待javascript文件加载完成,然后再运行后面的HTML代码。当存在多个<script>标签时,浏览器无法同时读取,必须读取完一个再去读取另一个,造成读取时间大大延长,页面响应缓慢。 <BR>为了解决这些问题,可以使用DOM方法,动态加载Javascript文件。 <BR><div class="codetitle"><span><a style="max-width:90%" data="78858" class="copybut" id="copybut78858" onclick="doCopy('code78858')"><U>复制代码 代码如下:<div class="codebody" id="code78858"> <BR>  function loadScript(url){ <BR>    var script = document.createElement("script"); <BR>    script.type = "text/javascript"; <BR>    script.src = url; <BR>    document.body.appendChild(script); <BR>  } <BR> <BR>这样做的原理是,浏览器即时创造出一个<script>标签,然后"异步"读取Javascript文件。这样不会造成页面堵塞,但会造成另外一个问题:这样加载的Javascript文件,不在原始的DOM结构之中,因此在DOM-ready(DOMContentLoaded)事件和window.onload事件中指定的回调函数对它无效。 </script>

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Python realisiert das dynamische Laden von Seiten und die asynchrone Anforderungsverarbeitungsfunktionsanalyse einer Headless-Browser-Erfassungsanwendung Python realisiert das dynamische Laden von Seiten und die asynchrone Anforderungsverarbeitungsfunktionsanalyse einer Headless-Browser-Erfassungsanwendung Aug 08, 2023 am 10:16 AM

Python implementiert die dynamischen Lade- und asynchronen Anforderungsverarbeitungsfunktionen von Headless-Browser-Sammelanwendungen. In Webcrawlern ist es manchmal erforderlich, Seiteninhalte zu sammeln, die dynamisches Laden oder asynchrone Anforderungen verwenden. Herkömmliche Crawler-Tools weisen bestimmte Einschränkungen bei der Verarbeitung solcher Seiten auf und können den von JavaScript auf der Seite generierten Inhalt nicht genau abrufen. Die Verwendung eines Headless-Browsers kann dieses Problem lösen. In diesem Artikel wird erläutert, wie Sie mit Python einen Headless-Browser implementieren, um Seiteninhalte mithilfe dynamischen Ladens und asynchroner Anforderungen zu sammeln.

Umgang mit dynamischem Laden und Wechseln von Komponenten in Vue Umgang mit dynamischem Laden und Wechseln von Komponenten in Vue Oct 15, 2023 pm 04:34 PM

Umgang mit dem dynamischen Laden und Wechseln von Komponenten in Vue Vue ist ein beliebtes JavaScript-Framework, das eine Vielzahl flexibler Funktionen zum Umgang mit dem dynamischen Laden und Wechseln von Komponenten bereitstellt. In diesem Artikel besprechen wir einige Methoden zur Handhabung des dynamischen Ladens und Wechselns von Komponenten in Vue und stellen spezifische Codebeispiele bereit. Das dynamische Laden von Komponenten bedeutet das dynamische Laden von Komponenten zur Laufzeit nach Bedarf. Dies verbessert die Leistung und Ladegeschwindigkeit Ihrer Anwendung, da relevante Komponenten nur bei Bedarf geladen werden. Vue bietet Async und AWA

Enthüllung des Hot-Update-Prinzips in Golang: Insider-Erklärung zum dynamischen Laden und Neuladen Enthüllung des Hot-Update-Prinzips in Golang: Insider-Erklärung zum dynamischen Laden und Neuladen Jan 20, 2024 am 10:09 AM

Erkundung des Prinzips von Golang Hot Update: Das Geheimnis des dynamischen Ladens und Neuladens Einführung: Im Bereich der Softwareentwicklung hoffen Programmierer oft, Code ändern und aktualisieren zu können, ohne die Anwendung neu starten zu müssen. Solche Anforderungen sind sowohl für die Entwicklungseffizienz als auch für die Zuverlässigkeit des Systembetriebs von großer Bedeutung. Als moderne Programmiersprache bietet Golang Entwicklern viele praktische Mechanismen zur Implementierung von Hot Updates. Dieser Artikel befasst sich mit den Prinzipien des Golang-Hot-Updates, insbesondere mit den Geheimnissen des dynamischen Ladens und Neuladens, und kombiniert ihn mit spezifischen Codebeispielen.

So erstellen Sie eine Tabelle, die Daten mithilfe von Vue und Element-UI dynamisch lädt So erstellen Sie eine Tabelle, die Daten mithilfe von Vue und Element-UI dynamisch lädt Jul 21, 2023 pm 11:49 PM

So erstellen Sie mit Vue und Element-UI eine Tabelle, die Daten dynamisch lädt. In der modernen Webentwicklung sind Datentabellen eine der häufigsten Schnittstellenkomponenten. Vue.js ist heutzutage ein sehr beliebtes Front-End-Framework, und Element-UI ist eine Reihe von Komponentenbibliotheken, die auf Basis von Vue.js entwickelt wurden und uns einen umfangreichen Satz an UI-Komponenten zur Verfügung stellen. In diesem Artikel wird erläutert, wie Sie mit Vue und Element-UI eine Tabelle erstellen, die Daten dynamisch laden kann, und entsprechende Codebeispiele geben. Zuerst müssen wir installieren

Vue-Fehler beheben: Vue Router kann nicht korrekt verwendet werden, um Komponenten basierend auf Routing-Parametern dynamisch zu laden Vue-Fehler beheben: Vue Router kann nicht korrekt verwendet werden, um Komponenten basierend auf Routing-Parametern dynamisch zu laden Aug 20, 2023 am 08:09 AM

Beheben Sie den Vue-Fehler: VueRouter kann nicht korrekt zum dynamischen Laden von Komponenten basierend auf Routing-Parametern verwendet werden. Bei der Verwendung von VueRouter für Routing-Sprünge müssen wir manchmal Komponenten basierend auf Routing-Parametern dynamisch laden. In einigen Fällen kann jedoch ein häufiger Fehler auftreten: VueRouter kann nicht korrekt verwendet werden, um Komponenten basierend auf Routing-Parametern dynamisch zu laden. In diesem Artikel wird beschrieben, wie Sie diesen Fehler beheben können, und es werden Codebeispiele bereitgestellt. Zunächst müssen wir klarstellen: VueRouter kann bestehen

Verwendung von Reflektion und dynamisches Laden von Assemblys in C# Verwendung von Reflektion und dynamisches Laden von Assemblys in C# Oct 08, 2023 pm 12:12 PM

Verwendung von Reflektion und dynamisches Laden von Assemblys in C# Einführung: In C# ist Reflektion (Reflection) ein leistungsstarker Mechanismus, der es uns ermöglicht, die Metadaten des Programms zur Laufzeit abzurufen und zu verarbeiten, einschließlich Typinformationen, Mitgliedsinformationen usw. Das dynamische Laden von Assemblys ist eine häufige Anwendung, die durch Reflektion implementiert wird, und ist in einigen spezifischen Szenarien sehr nützlich. In diesem Artikel wird die Verwendung von Reflektion und das dynamische Laden von Assemblys in C# im Detail vorgestellt und spezifische Codebeispiele bereitgestellt. Das Grundkonzept der Reflexion Reflexion ist eine wichtige Funktion in der Sprache C#

phpSpider-Praxistipps: Wie gehe ich mit dem dynamischen Laden von Webinhalten um? phpSpider-Praxistipps: Wie gehe ich mit dem dynamischen Laden von Webinhalten um? Jul 22, 2023 am 08:33 AM

phpSpider-Praxistipps: Wie gehe ich mit dem dynamischen Laden von Webinhalten um? Beim Crawlen von Webseitendaten stoßen wir häufig auf das Problem, dass dynamisch geladene Inhalte nicht direkt über den Crawler abgerufen werden können. Bei diesen dynamisch geladenen Inhalten kann es sich um über AJAX-Anfragen erhaltene Daten, über JavaScript gerenderte DOM-Elemente usw. handeln. Um dieses Problem zu lösen, werden in diesem Artikel einige praktische Tipps zum Umgang mit dynamischen Ladeproblemen von Webseiten bei Verwendung von phpSpider vorgestellt. 1. Verwenden Sie Netzwerk-Debugging-Tools, um dynamisch geladene URLs zu finden

Verwenden Sie die Methode „load()' der Klasse „System' in Java, um Klassen oder Ressourcen dynamisch zu laden Verwenden Sie die Methode „load()' der Klasse „System' in Java, um Klassen oder Ressourcen dynamisch zu laden Jul 25, 2023 am 10:25 AM

Verwenden Sie die Methode „load()“ der Systemklasse in Java, um Klassen oder Ressourcen dynamisch zu laden. In der Java-Entwicklung müssen wir manchmal Klassen oder Ressourcen dynamisch laden, während das Programm ausgeführt wird, um einige flexible Funktionen zu erreichen. Um diese Anforderung zu erfüllen, stellt Java die Methode „load()“ der Klasse „System“ bereit. In diesem Artikel wird die Verwendung der Methode „load()“ der Klasse „System“ vorgestellt und entsprechende Codebeispiele bereitgestellt. Lassen Sie uns zunächst die Definition der Methode „load()“ verstehen: publicstaticvo

See all articles