• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Content dynamisch Reloaden

eieste

Mitglied
Hallo

Ich möchte den Inhalt eines Div Containers dynamisch laden bzw. in 5 sec reloaden.
Das Problem: Die Seite, die in diesem Div angezeigt werden soll, enthält ein JS, das jedoch nicht ausgeführt wird.


Hier mein Script zum Reloaden:
Code:
<script type='text/javascript'>
loadXMLDoc();
window.setInterval('loadXMLDoc()', 5000);
function loadXMLDoc()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById('chat_fenster').innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open('GET','test,php',true);
xmlhttp.send();
}
</script>

Ich bräuchte also ein Script, das einen bestimmten Bereich einer Site neu lädt, aber die den js/php Code in der zu ladenden Datei ausführt .



Danke für euere Hilfe
 
Zuletzt bearbeitet:
Werbung:
JavaScripts kann man derzeit nicht wirklich Nachladen lassen und dann ausführbar machen. Der IE unterstützt diesbezüglich das nicht-valide defer-Attribut, alle anderen Browser unterstützen es nicht und verweigern auch das dynamische Nachladen von JavaScript. Du müsstest versuchen das JavaScript außerhalb des nachgeladenen Bereiches unterzubringen.
 
Du müsstest versuchen das JavaScript außerhalb des nachgeladenen Bereiches unterzubringen.
Das sollte ja auch kein Problem sein, zur Not müssen halt die Aufrufe um Parameter erweitert werden, deren Werte dann nachgeladen werden. Der einzige Nachteil ist doch, dass du eventuell zu viel Javascript lädst, dessen Code nie ausgeführt wird. Aber alle, die Libraries verwenden, tun das ja, verwenden oft noch nur Bruchteile von jquery & co und laden alles.
 
Werbung:
Du müsstest versuchen das JavaScript außerhalb des nachgeladenen Bereiches unterzubringen.

Das sollte ja auch kein Problem sein

Leider doch. Denn der js Code soll nur ausgeführt werden, wenn ein mysql Eintrag dazu vorhanden ist und der php Code zur Überprüfung der Datenbank muss nach einigen sec. aktualisiert werden.

Hier der ph Code, der geladen wird:
PHP:
$db_erge = mysql_query("SELECT * FROM chat_keyto WHERE `user`='$db_ultraapp_de_token_user'")
or die(mysql_error());
    while ($zeile = mysql_fetch_array( $db_erge, MYSQL_ASSOC))
    {
$db_ultraapp_de_chat_keyto_key = $zeile['key'];

mysql_query("Update `chat_keyto` SET `aktiv`='1' WHERE `key`='$db_ultraapp_de_chat_keyto_key'")
or die(mysql_error());


//
//
//
//
//Hier der JS CODE


echo '<script type="text/javascript">window.open('$Domain_Pfad_oeffentlich/com.ultraapp.de/all_around/chat/chat.php?user_token=$session_token&friend_token=$db_ultraapp_de_token_token&konvkey=$db_ultraapp_de_chat_keyto_key&entwertet=true', 'Chat mit User $db_ultraapp_de_user_username', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=500,height=200,left=22,top=22');</script>';
   


 }
    mysql_free_result( $db_erge )
or die(mysql_error());
 
Zuletzt bearbeitet:
Leider doch. Denn der js code soll nur ausgeführt werden wenn ein mysql eintrag dazu vorhanden ist.
Und der PHP Code zum datenbank überprüfen muss alle paar sekunden aktualisiert werden.

Das spricht für einen AJAX-Request der unabhängig vom nachgeladenen Content jederzeit läuft. Per setTimeout() kann man sowas automatisieren. Wenn der AJAX-Request beendet wird, ruft man eine callback-Funktion auf die wiederum prüft, was der AJAX-Request ergab und entsprechende nachfolgende Aktionen ausführt.
 
Hat jemand vielleicht eine Idee, wie so ein Script aussehen muss?
Ich hab jedenfalls in google so schnell nichts gefunden.
Vielleicht liegt's an der Uhrzeit :).

Vielen Dank schon mal im voraus.



P.s. Muss morgen früh raus deswegen ist es wahrscheinlich nur
für mich zu spät.
 
Zuletzt bearbeitet:
Werbung:
Dann schau nochmal, zu AJAX oder xmlHTTPRequest gibt es nämlich zahllose Einträge, auch hier im Forum.
 
Also ich hab nach lager Suche doch noch was Gefunden.
Allgerdings Funktioniert es nicht richtig. Vielleicht könntet ihr noch mal einen Blick drüber werfen.

HTML:
<script type='text/javascript'>
new Ajax.Request('ajax.php',
{
 method:'get',
 onSuccess: function(transport){
   var response = transport.responseText || "no response text";
   alert("Success! \n\n" + response);
   },
 onFailure: function(){ alert('Something went wrong...') }
});
</script>

In meinem JS Debugger (Safari) bekomme ich folgende fehlermeldung.

ReferenceError:Can't find variable: Ajax

Er makiert dabei diese zeile

HTML:
new Ajax.Request('./ajax.php',

Vielleicht könntet ihr mir dabei nochmal helfen.

Vielen Dank!
 
Hast du denn auch die Ajax-Library geladen oder nur den Code abgeschrieben und gehofft, dass Javascript das Ajax-Object so von ganz alleine enthält?
 
Werbung:
Wenn Blödheit...!
Wenn ich versuche mit
<link rel="stylesheet" type="text/css" media="screen" href="ajax.js">
eine libary einzubinden, dann kann das ja nur schief gehen.
Libary richtig eingebunden und schon funzt es.

Vielen Dank.
 
Zurück
Oben