Wie fügt man dem Kopfteil ein DOM-Element-Skript hinzu?

7

Ich möchte das DOM-Element zum Kopfbereich von HTML hinzufügen. jQuery erlaubt das Hinzufügen von DOM-Elementscript zum head-Abschnitt nicht und führt stattdessen Reference aus.

Ich möchte script -Tags hinzufügen und ein Skript in <head> section schreiben.

%Vor%

So etwas mit Funktionen. Ich habe versucht jQuery und Javascript \, aber es funktioniert nicht.

Bitte sagen Sie mir, wie Sie script hinzufügen und schreiben können, indem Sie jQuery oder Javascript verwenden.

Ich habe das Javascript ermüdet, um ein DOM-Element hinzuzufügen, aber es funktioniert nicht mit .innerHTML() , um in den Kopf zu schreiben. Ich benutze jQuery 2.0.3 und jQuery UI 1.10.3.

Ich möchte base64-kodiertes Skript zum Kopfbereich hinzufügen. Ich benutze Base64-Decoder js wie dies , um das Javascript zu dekodieren und dann den Kopfabschnitt zu setzen.

// Bearbeitetes
Es wird

sein %Vor%

Um ein kodiertes Skript und den Zusatz in eine Javascript-Datei zu passen. Ich möchte base64.js verwenden oder einige andere Decoder-Javascript-Dateien für Browser akzeptieren atob() nicht.

    
john3825 13.09.2013, 11:12
quelle

9 Antworten

26

probiere das

aus %Vor%     
pbaris 13.09.2013 11:14
quelle
4

ausprobieren ::

%Vor%
    
GuerraTron 15.12.2015 21:33
quelle
4

Wenn Sie mehrere Script-Tags mit einer Mischung aus lokalen und entfernten Skriptdateien in den Kopf injizieren, kann eine Situation entstehen, in der die von externen Skripten abhängigen lokalen Skripte (z. B. das Laden von jQuery aus googleapis) Fehler enthalten kann nicht geladen werden, bevor die lokalen sind.

So etwas wie dieses hätte ein Problem: ("jQuery ist nicht definiert" in jquery.some-plugin.js).

%Vor%

Natürlich ist diese Situation das, wofür .onload () zuständig ist, aber wenn mehrere Skripte geladen werden, kann das mühsam sein.

Als Lösung für diese Situation habe ich diese Funktion zusammengestellt, die eine Warteschlange mit zu ladenden Skripts speichert, jedes nachfolgende Element nach den vorherigen beendet und ein Promise zurückgibt, das behebt, wenn das Skript (oder das letzte Skript in die Warteschlange, wenn kein Parameter) geladen wird.

%Vor%

Mit diesem Hinzufügen von Skripts in der Reihenfolge, die sicherstellen, dass die vorherigen erledigt sind, bevor der nächste anstarrt, kann getan werden wie ...

%Vor%

Oder laden Sie das Skript und verwenden Sie die Rückkehrversprechung, um Arbeit zu erledigen, wenn es abgeschlossen ist ...

%Vor%     
Nickolas Hook 26.10.2017 18:17
quelle
2
%Vor%

Aber in diesem Fall wird das Skript nicht ausgeführt und Funktionen sind in der globalen Namensspalte nicht verfügbar. Um Code in <script> zu verwenden, müssen Sie wie in Frage

tun

$('head').append(script);

    
Dmitry Masley 13.09.2013 11:23
quelle
2

Das ist eine alte Frage, und ich weiß, dass sie speziell nach dem Hinzufügen eines Skript-Tags in den Kopf fragt, aber basierend auf der OP-Erklärung wollen sie eigentlich nur einen JS-Code ausführen, der über eine andere JS-Funktion erhalten wurde / p>

Dies ist viel einfacher als das Hinzufügen eines Skript-Tags in die Seite.

Einfach:

%Vor%

Eval führt eine Zeile JS in einer Zeile aus, ohne dass es dem DOM hinzugefügt werden muss.

Ich glaube nicht, dass es nach dem Laden der Seite wirklich nötig ist, dem DOM ein Inline-Skript-Tag hinzuzufügen.

Weitere Informationen finden Sie hier: Ссылка

    
Luke McGregor 12.05.2015 23:43
quelle
0

Sie könnten tun:

%Vor%     
Sudhir Bastakoti 13.09.2013 11:16
quelle
0

Ich benutze PHP als meine serverseitige Sprache, also werde ich das Beispiel schreiben - aber ich bin mir sicher, dass es auch eine Methode auf Ihrer Serverseite gibt.

Sie müssen nur Ihre serverseitige Sprache aus einer Variablen hinzufügen. w / php so etwas würde wie folgt gehen.

Beachten Sie, dass dies nur funktioniert, wenn das Skript mit dem Laden der Seite geladen wird. Wenn Sie es dynamisch laden möchten, hilft Ihnen diese Lösung nicht.

PHP      

HTML

%Vor%

Zusammenfassung: Entschlüsseln Sie mit serverseitig und fügen Sie es in Ihrem HTML mit der Serversprache ein.

    
Ulad Kasach 07.11.2014 04:15
quelle
0

Laut Autor wollen sie ein Skript im Kopf erstellen, keine Verknüpfung zu einer Skriptdatei.

Das könnte möglicherweise so gemacht werden:

%Vor%     
liljoshu 15.12.2015 01:04
quelle
0

Beste Lösung, die ich gefunden habe:

%Vor%     
T.Todua 14.02.2017 12:09
quelle

Tags und Links