


Ausführliche Erklärung und Beispielfreigabe der Usage_Javascript-Fähigkeiten von yepnope.js
Ein typisches Beispiel für yepnope.js:
yepnope({ test : Modernizr.geolocation, yep : 'normal.js', nope : ['polyfill.js', 'wrapper.js'] });
Dieses Beispiel bedeutet, dass normal.js geladen wird, wenn Modernizr.geolocation wahr ist, und wenn es falsch ist, werden polyfill.js und wrapper.js geladen.
Ja, vollständige Syntax :
yepnope([{ test : /* boolean(ish) 输入条件 */, yep : /* array (of strings) | string - 条件为真时加载的资源 */, nope : /* array (of strings) | string - 条件为假时加载的资源 */, both : /* array (of strings) | string - 条件无论真假都加载 */, load : /* array (of strings) | string - 条件无论真假都加载 */, callback : /* function ( testResult, key ) | object { key : fn } 回调函数 */, complete : /* function 加载完成后执行的函数 */ }, ... ]);
Warum Yepnope verwenden:
Nur 1,6 KB nach Gzip, was kleiner ist als die meisten Ressourcenlader
Kann CSS und JS laden
yepnope hat alle Browsertests bestanden, die der Autor finden konnte
Yepnope trennt das Laden und Ausführen von Ressourcen vollständig, sodass Sie die Ausführungsreihenfolge von Ressourcen steuern können
Stellen Sie eine benutzerfreundliche API bereit und fördern Sie die logische Kombination von Ressourcen
Modularer Aufbau, Sie können die Funktionen selbst erweitern (siehe Präfixe und Filter später)
Fördern Sie das Laden von Ressourcen nach Bedarf
Integriert in Modernizr
Standardmäßig wird es immer in der Reihenfolge der Ressourcenliste (der Reihenfolge der von Ihnen angegebenen Dateiliste) ausgeführt
Es kann den Ressourcen-Fallback bewältigen und dennoch das parallele Herunterladen abhängiger Skripte priorisieren. Das ist leichter zu verstehen, wenn Sie sich den Code ansehen:
yepnope([ { load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', complete: function () { if ( ! window.jQuery ) { yepnope( 'local/jquery.min.js' ); } } }, { load : 'jquery.plugin.js', complete: function () { jQuery(function () { jQuery( 'div' ).plugin(); }); } } ]);
Andere Lader müssen dies möglicherweise tun:
someLoader('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', function(){ if ( ! window.jQuery ) { someLoader( 'local/jquery.min.js', 'jquery.plugin.js' ); /*注意这点和yepnope的区别,yepnope加载失败后仅需重新加载备用资源即可,不会影响依赖此资源的其他文件执行*/ } else { someLoader( 'jquery.plugin.js' ); } });
Nachteile von Yepnope
Es ist nicht immer das schnellste. Nach der Optimierung werden Dinge wie labjs möglicherweise schneller geladen als yepnope, aber Sie müssen basierend auf Ihrer tatsächlichen Situation überlegen, welchen Loader Sie verwenden sollen
Sie müssen einen bestimmten Cache-Header für die Ressource festlegen (dies ist sehr wichtig)
Im Gegensatz zu Klassenbibliotheken wie RequireJS, die über eigene Generierungstools und umfangreiche APIs verfügen, implementiert yepnope nur grundlegende Ladefunktionen
Standardmäßig wird es immer in der Reihenfolge der von Ihnen bereitgestellten Ressourcenliste ausgeführt, was sich auf die Geschwindigkeit auswirken kann
Yepnope-Verwendungsbeispiele:
Übergeben Sie die Zeichenfolge direkt
yepnope( '/url/to/your/script.js' );
Ein Objekt übergeben
yepnope( { load : '/url/to/your/script.js' } );
Callback-Funktionsinstanz (URL in der Callback-Funktion stellt den Namen der geladenen Ressourcendatei dar; Ergebnis stellt das Ergebnis des Testparameters dar; Schlüssel stellt die Abkürzung des Dateinamens dar, wenn Tastenzuordnung verwendet wird)
yepnope( { test : window.JSON, load : '/url/to/your/script.js', callback : function ( url, result, key ) { // whenever this runs, your script has just executed. alert( 'script.js has loaded!' ); } } );
vollständige Funktionsinstanz
yepnope( { test : window.JSON, nope : 'json2.js', complete : function () { var data = window.JSON.parse( '{ "json" : "string" }' ); } } );
Beispiel für eine Tastenzuordnung
yepnope( { test : Modernizr.geolocation, yep : { 'rstyles' : 'regular-styles.css' }, nope : { 'mstyles' : 'modified-styles.css', 'geopoly' : 'geolocation-polyfill.js' }, callback : function ( url, result, key ) { if ( key === 'geopoly' ) { alert( 'This is the geolocation polyfill!' ); } } } );
SelbstverständlichRückruffunktionSie können auch so schreiben:
yepnope( { test : Modernizr.geolocation, yep : { 'rstyles' : 'regular-styles.css' }, nope : { 'mstyles' : 'modified-styles.css', 'geopoly' : 'geolocation-polyfill.js' }, callback : { 'rstyles' : function ( url, result, key ) { alert( 'This is the regular styles!' ); }, 'mstyles' : function ( url, result, key ) { alert( 'This is the modified styles!' ); }, 'geopoly' : function ( url, result, key ) { alert( 'This is the geolocation polyfill!' ); } }, complete : function () { alert( 'Everything has loaded in this test object!' ); } } );
3 Präfixe, die offiziell von yepnope bereitgestellt werden
CSS!-Präfix: Dateien mit einem beliebigen Suffix können als CSS-Dateien geladen werden
yepnope( 'css!mystyles.php?version=1532' );
Prefix: Die Ressource vorab in den Cache laden, aber nicht ausführen (sie wird erst beim nächsten Laden ausgeführt)
yepnope( { load : 'preload!jquery.1.5.0.js', callback : function ( url, result, key ) { window.jQuery; //undefined yepnope(jquery.1.5.0.js); window.jQuery; //object } } );
ie!-Präfix(e): Bestimmen Sie, ob es sich um einen IE-Browser handelt (zusätzlich zu ie! unterstützt er auch ie5, ie6, ie7, ie8, ie9, iegt5, iegt6, iegt7, iegt8, ielt7, ielt8 und ielt9 Diese Arten von Präfixen)
yepnope({ load: ['normal.js', 'ie6!ie7!ie-patch.js'] // ie6 or ie7 only (on patch) });

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Erforschen Sie die Implementierung der Funktion des Bedien- und Drop-Einstellungsfunktion der Panel ähnlich wie VSCODE im Front-End. In der Front-End-Entwicklung wird VSCODE ähnlich wie VSCODE implementiert ...
