Mit AJAX Inhalt in div laden, danach funktioniert Javascript nicht mehr

Markus Medorn

Grünschnabel
Moin Moin

Ich bin gerade dabei mir eine Band Homepage zu bauen.

http://highrise-music.de

Da ich mir auf der Seite oben einen Player gesetzt habe der durchgehend laufen soll wenn man die Seite durchstöbert. Habe ich mit AJAX den Seiteninhalt in ein Div laden lassen.

Jetzt habe ich aber ein problem das Javascripte nicht mehr auf den seiten funktioniert!

Ich benutze von Facebook den Like Button bei dem muß das Script direkt im body eingesetzt werden es geht nicht im head.

Hier mal der Code von Facebook
HTML:
<div id="fb-root"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like-box href="https://www.facebook.com/HighRiseMusic" width="237" colorscheme="light" height="260" show_faces="true" border_color="#ffffff" stream="false" header="false"></fb:like-box></div>


Hier dann noch der AJAX Code
PHP:
function macheRequest(src) {
http_request = false;
if (window.XMLHttpRequest) {
   http_request = new XMLHttpRequest();
   if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
   }
    } else if (window.ActiveXObject) { // IE
    try {
       http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
       http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
    }
   if (!http_request) {
       alert('Das Request Objekt konnte nicht erzeugt werden! Bitte ueberpruefen Sie Ihre JAVA Einstellungen!');
        return false;
    }
 
   http_request.onreadystatechange = show;
   http_request.open('GET', src + '.php', true);
   http_request.send(null);
}


function show() {
if (http_request.readyState == 4) {

      document.getElementById("content").innerHTML = http_request.responseText;

}
}

Ich hoffe das mir irgendwie geholfen werden kann. Ich muß auch dazu sagen das ich mich nicht sonderlich damit aus kenne. Habe mir das ganze aus dem Internet gesucht.

Gruß
 
Wenn ich JQuery verwenden würde und die Datei nicht eingebunden habe würde das ganze ja nicht wirklich funktionieren, oder verstehe ich da was falsch?

Und der firebug zeigt mir nichts an nur nen Fehler mit dem Chat Fenster das hat nichts mit meinem Problem zu tun.
 
Hi,

du musst das jQuery-Script bereits eingebunden haben, bevor du es erstmals verwendest. Also das Script-Tag mit jQuery als Quelle vor allen anderen Scripts in den Header einbinden.

Ciao
Quaese
 
Ich habe es jetzt mal eingebunden aber funktioniert nicht

Es funktioniert ja soweit das er den Inhalt anderer seiten in den div rein läd. Nur das er dann keine Scripte mehr ausführt. Ich habe jetzt gelesen das wenn mit AJAX Inhalte in ein div geladen werden das dann java nicht funktioniert wenn java auf den seiten verwendet wird

Dann habe ich noch gelesen das man es eventuell mit nem eval befehl lösen kann. Kann mir da einer weiter helfen
 
Zudem : Ist der FB-Button eine potentielle Fehlerquelle (aufgrund ihres eigenen dazugeladenen Frameworks FBML). Eine Seite funktionierte auch erst wieder richtig, nachdem ich diesen Button dynamisch (ja, mit jQuery und Ajax) nachgeladen habe.

Möglicherweise wird Deine Seite sauberer laufen, wenn Du den Button nachlädst..

mfg chmee
 
Wenn du mir noch verklickern könntest wie ich das zu machen habe? Da wäre ich dir sehr dankbar.

Aber ich habe auch noch anderes Javascripte laufen die auch nicht gehen also kann es nicht an FB liegen. Ich müßte allgemein alle Java Scripte nachträglich rein laden
 
Zurück