Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 1578 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
Windows Update
gelöst SBS 2008: WSUS deinstallieren (und wieder neu installieren) (9)

Frage von diwaffm zum Thema Windows Update ...

Windows 10
gelöst Monitor bleibt ausgeschaltet nach dem Aufwachen aus dem Energiesparmodus (22)

Frage von LightningX zum Thema Windows 10 ...

Windows Netzwerk
Domäne neu, Gruppenrichtlinien erstellen: das Rad neu erfinden? (5)

Frage von Dude-from-R00t zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (50)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...