Ajax.Request Prototype Evaluieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ajax.Request Prototype Evaluieren

    Hy Leute,

    hab mal ne Frage.

    Wie mach ich das?

    Ich lassen mir ein PHP Script (HTML Seite mit Javascript) über eine Javascript Ajax Request zuschicken.

    Die Seite wird auch einwandfrei dargestellt, nur de rdarin enthaltene Javascript wird nicht ausgefürht. Das Ajax Request oder eben Periodical Updater keine JS Code ausführen weiss ich.
    Ich bekomms aber einfach nicht hin.

    Es geht weder eval noch sonst was.

    Weis wer Rat?
    Code:
    Also also erstes kann mal die Seite per
    PHP-Code:
    javascript:toggleResult(test.php'); void(0); 
    aufrufen, dat geht.

    Dann in der test.php steht folgender Javascript Code im script teil.
    PHP-Code:
    toggleResult = function(tool_link) {

                new 
    Ajax.Request(tool_link, {
                
    method: \'get\',
                evalScripts: true, 
                onSuccess: function(transport) {
                    var div = $(\'stage_div\');
                    $(div).innerHTML = transport.responseText;

                    include(\'js/wz_tooltip.js\');
                    evalScript($(div).innerHTML);
                  }
                });
            }
            
            function include(file) {
                var script = document.createElement(\'script\');
                var type = document.createAttribute(\'type\');
                type.nodeValue = \'text/javascript\';
                script.setAttributeNode(type);
                var source = document.createAttribute(\'src\');
                source.nodeValue = file;
                script.setAttributeNode(source);
                var head = document.getElementsByTagName(\'head\')[0];
                head.appendChild(script);
            }
            
            function execute(code) {
                var i = 0;
                try {
                    eval(code);
                } catch (e) {
                    if (i < 20) {
                        setTimeout(\'execute("\' + code + \'");\', 1);
                    }
                    i++;
                }
            } 
    Also is schon sehr verzweigt de Code, leider. Ich hab den ganzen Mist nicht nicht alleine geschrieben und muss etz damit zu recht kommen. die andern sind schuld, wie immer ;o)

    In dem Test.php wird wiederrum eine Javascript Datei includiert die wiederrum macht die Funktionalität, eben eine Art Tooltip. Also ein ding wo du mit der Maus drüber fährst und dan nwird was angezeigt, und genau das wird nicht geladen.

    In diesr Datei steht dan noch folgender Code drinne.
    PHP-Code:
    tt_LayoutShow = function(id) {
        var 
    title = $('tipLayout_'+id).getAttribute('title');
        
    execute(TagToTip('tipLayout_'+id,TITLE,title,WIDTH,500));

    Falls jetzt noch irgendwer druchsteigt, bei dem was ich hier fürn Problem hat, bitte melden. Danke!!!
    gruss pedro

  • #2
    Da fehlen Anführungszeichen:

    include(js/wz_tooltip.js);

    Ansonsten Lade dir Google Chrome runter und nutz die Entwickler-Tools, oder Firefox mit Firebug. Dort gibt's sehr hilfreiche Javascript-Werkzeuge, welche Schritt für Schritt-Ausführung erlauben und auch Fehlermeldungen anzeigen.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar

    Lädt...
    X