Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

DOM tree wird nach AJAX nicht neu geladen bzw. innerHtml bleibt undefined...

Frage Entwicklung JavaScript

Mitglied: B-free

B-free (Level 1) - Jetzt verbinden

01.06.2014, aktualisiert 10.06.2014, 1602 Aufrufe, 4 Kommentare

Hallo Community,

ich bin ein JS/ AJAX Neuling. Mein AJAX lädt ein <script>...</script>, welches nach W3C Standard ja nicht ausgeführt wird. Die (vermeindliche) Lösung:
01.
	alert (document.getElementById("display1"));           //output:  [object HTMLDivElement] 
02.
	alert (document.getElementById("display1").innerHtml); //output:  undefined  (kein DOM update?) 
03.
	var arr = document.getElementById("display1").getElementsByTagName('script'); 
04.
	alert (arr);                                           //output:  [object NodeList] (soweit korrekt, ist ja ein Array mit DOM nodes) 
05.
	alert (arr[0]);                                        //output:  [object HTMLScriptElement] (Also doch ein DOM update, das <script> wurde erkannt) 
06.
	for (var n = 0; n < arr.length; n++) 
07.
		eval(arr[n].innerHTML)//run script inside div
Das <script> wird nicht ausgeführt....

Erst, wenn ich den selben Code in die Konsole eingebe, geht es...


Auch mit onload, delay etc... Es geht nicht...


Tschau
B-Free


PS: Ich habe es in mehreren Browsern getestet
Mitglied: nxclass
01.06.2014, aktualisiert um 23:25 Uhr
Hallo - kleiner Tipp: lade den JS code als zusätzlichen script Node in den header Node - das sollte funktionieren.

test.html
01.
<!DOCTYPE html> 
02.
<html> 
03.
    <head> 
04.
        <title></title> 
05.
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
06.
        <script type="text/javascript"> 
07.
document.include = function( src ) 
08.
09.
    e = document.createElement('script'); 
10.
    e.setAttribute('type', 'text/javascript'); 
11.
    e.setAttribute('src', src); 
12.
    this.getElementsByTagName('head').item(0).appendChild(e); 
13.
14.
        </script> 
15.
    </head> 
16.
    <body> 
17.
        <input type="button" onclick="document.include('js/test.js');" name="load" value="load" /> 
18.
    </body> 
19.
</html>
test.js
01.
alert('success');
Bitte warten ..
Mitglied: B-free
02.06.2014 um 12:34 Uhr
Ähm.... Okay.


Ich habe leider nicht verstanden (oder nur in den Grundzügen) was dein Vorschlag war.

Soll ich die <script> Tags aus dem AJAX request in den head schreiben?



Soweit
B-Free
Bitte warten ..
Mitglied: nxclass
LÖSUNG 02.06.2014, aktualisiert 10.06.2014
Soll ich die <script> Tags aus dem AJAX request in den head schreiben?
ja - beachte dass die script Tags innerhalb des body nur beim Laden der Webseite ausgeführt werden.

Weiterhin solltest Du versuchen dein JS so zu schreiben, dass es aus einer *.js Datei geladen werden kann - so kannst du den HTML und JS Code sauber trennen. Meistens sollte die gesamte JS Logik bereits geladen sein und nur HTML Fragmente werden per Ajax nachgeladen.
Bitte warten ..
Mitglied: B-free
04.06.2014 um 08:05 Uhr
Weiterhin solltest Du versuchen dein JS so zu schreiben, dass es aus einer *.js Datei geladen werden kann - so kannst du den HTML
und JS Code sauber trennen. Meistens sollte die gesamte JS Logik bereits geladen sein und nur HTML Fragmente werden per Ajax
nachgeladen.

Danke!

Super! So werde ich das gleich mal testen. :D
Bitte warten ..
Ähnliche Inhalte
JavaScript
Javascript oder HTML nach DOM laden
Frage von chef1568JavaScript1 Kommentar

Hallo, ich habe ein Problem mit dem Seitenaufbau meiner Webseite. Ich möchte 2 Inhalte erst nach Aufbau des DOM´s ...

JavaScript
Javascript und Ajax Problem
gelöst Frage von ProtectedJavaScript4 Kommentare

Hallo, der User colinardo hat mir seinen AJAX Code zur Verfügung gestellt, damit ich per Ajax Kategorien und die ...

LAN, WAN, Wireless
Spanning Tree mit Procurve 1800
gelöst Frage von SchoSebLAN, WAN, Wireless6 Kommentare

Hallo zusammen. Wir haben hier noch einige 1800er Procurves im Einsatz, die mit einer aktuellen Firmware zumindest nicht mehr ...

Firewall
Neue SonicWall selbe Konfiguration aber nicht alle Seiten werden geladen
gelöst Frage von greatmgmFirewall6 Kommentare

Hallo zusammen, ich habe meine alte SonicWall TZ 150 durch eine neue TZ 215 ersetzt und soweit es ging ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 8 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 15 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 104 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless18 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...