


Ausführliche Erläuterung von Beispielen zum dynamischen Laden und Ausführen von Seiten
ExtJS 4.1 TabPanel lädt die Seite dynamisch und führt das Skript aus. Es hat mehrere Tage gedauert, bis ich es geschafft habe Im Folgenden erzähle ich Ihnen davon.
Laut dem offiziellen Beispiel kann die Seite dynamisch geladen werden, aber das Skript wird nicht ausgeführt. Daher habe ich das SDK und Google überprüft und festgestellt, dass Skripte auf „true“ gesetzt werden müssen, also habe ich dieses Attribut festgelegt. Der gesamte Code lautet wie folgt
tabPanel.add({ title: 'dynamic page', closable: true, loader: { 'test.htm', loadMask: 'loading...', autoLoad: true, scripts: true } });
Zuerst dachte ich, dass mit dem Skript zum Laden der Seite etwas nicht stimmte, denn nachdem ich viele Informationen überprüft hatte, sagten einige Leute, dass es in der < body>, während andere sagten, es könne nur auf die Seite geschrieben werden und src nicht zum Referenzieren von js-Dateien verwendet werden, aber egal wie ich es versuchte, es funktionierte nicht. Nein, meine Ladeseite ist sehr einfach Wenn die Seite geladen ist, wird ein Popup-Fenster angezeigt.
<script type="text/javascript"> alert("addd"); </script> 后来想,是不是需要在tab被激活的事件手工load,而不是autoLoad,于是再次实验,终于成功了,兴奋! tabPanel.add({ title: 'dynamic page', closable: true, loader: { 'test.htm', loadMask: 'loading...', autoLoad: true, scripts: true } listeners: { activate: function(tab){ tab.loader.load(); } } });
Ursprünglich dachte ich, ich würde hier aufhören und diesen Tab an einem Tag endlich fertigstellen, aber als ich aufgeregt war, entdeckte ich, dass diese Methode funktioniert Das Problem besteht darin, dass jedes Mal, wenn auf eine Registerkarte geklickt wird, ein Aktivierungsereignis ausgelöst wird, um die Hintergrundseite einmal zu lesen. Der gewünschte Effekt besteht darin, dass nach dem einmaligen Laden des Frontends beim Wechseln der Registerkarten nicht erneut auf das Backend zugegriffen wird. Also habe ich das SDK und Google überprüft und versucht zu beurteilen, ob der Tab im Aktivierungsereignis geladen wurde, aber es ist fehlgeschlagen
Am nächsten Tag habe ich die Listener entfernt und wollte dann aus unerklärlichen Gründen den Ladeeffekt von testen die geladene Seite, blockierte absichtlich den Seitenthread und fügte den folgenden Code hinzu:
System.Threading.Thread.Sleep(5000);
Diesmal war es unbeabsichtigt, und ich stellte fest, dass die Seite nach 5 Sekunden geladen wurde, konnte das Skript tatsächlich normal ausführen!
Meine Schritte sind wie folgt: Klicken Sie auf die Schaltfläche „Laden“ und dann auf die dynamisch geladene Registerkarte. Nach 5 Sekunden wird der Inhalt angezeigt und das Skript wird ausgeführt Die Seite wird nicht immer geladen, also überprüfe ich weiterhin die Informationen und versuche es weiter und beginne sogar mit dem Debuggen des Quellcodes von extjs. Hier erfahren Sie, wie Sie das folgende Skript debuggen 🎜>
Ich werde nicht erklären, wie man debuggt. Es gibt viele auf Google. Ja, ich habe einen Tag lang debuggt, aber ohne Erfolg. Dies ist jedoch mein erster enger Kontakt mit extjs-Code<script type="text/javascript" src="/Scripts/ext/ext-all.js?1.1.11"></script>改为 <script type="text/javascript" src="/Scripts/ext/ext-debug.js?1.1.11"></script>
Am dritten Tag schloss ich mich wie verrückt QQ-Gruppen an, postete in verschiedenen Foren und Websites und googelte weiter, aber ohne Erfolg
Am vierten Tag Ich hatte das Glück, mit Bing autoload:true von Microsoft suchen zu können. scripts:true, der erste Artikel erscheint, es gibt eine solche Einführung, aber es geht um extjs Wie lädt das 4.0-Panel die Seite und führt das Skript aus, also habe ich es anhand seines Codes getestet
Der Code kann erfolgreich ausgeführt werden! Ich war jetzt total begeistert, denn der Tab kann jede Komponente laden, und natürlich kann er auch das Panel laden, also habe ich meinen CodeExt.onReady(function () { var panel = Ext.create('Ext.Panel', { title: 'Anchor Layout', renderTo:Ext.getBody(), loader:{ url: "test.htm",autoLoad:true, scripts:true}//加载1.htm页面 }); });
var panel = Ext.create('Ext.Panel',{ title: 'dynamic page', renderTo:Ext.getBody(), closable: true, loader: { 'test.htm', loadMask: 'loading...', autoLoad: true, scripts: true } }); tabPanel.add(panel);
Ich musste mit dem Tippen auf der Tastatur aufhören und sorgfältig darüber nachdenken. Ich habe die Seite erfolgreich geladen und das Skript dreimal ausgeführt:
1 und als die Registerkarte aktiviert wurde
2. Klicken Sie nach dem Schlafen auf die Tabulatortaste und warten Sie, bis die Seite geladen ist.
3. Render hinzufügenZur Konfiguration
Nach langem Nachdenken habe ich endlich diese drei Erfolge gefunden Alle hatten eines gemeinsam: Die geladene Seite wird angezeigt, das heißt, wenn der Tab zuerst die Seite lädt und dann „gesehen“ wird, wird das Skript nicht ausgeführt.
Um meine zu überprüfen Idee, ich habe sofort mit dem Testen begonnen und den Ruhezustand auf 100 Millisekunden eingestellt, auf die Schaltfläche „Laden“ geklickt und dann nach 1 Sekunde auf die geladene Registerkarte geschaut. Tatsächlich wird das Skript nicht ausgeführt! ! !
Endlich den Grund gefunden:
Tab muss zuerst „angezeigt“ und dann geladen werden, dann ist das einfach, überprüfen Sie sofort das SDK, es ist nicht schwer, die Show-Methode zu finden, also Ändern Sie den Code
OK, das Skript wird normal ausgeführt und mein Problem ist „perfekt“ gelöstDas obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen zum dynamischen Laden und Ausführen von Seiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

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



So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert
