[JavaScript] Ajax Seite nachladen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Wurm666, 15. Februar 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 15. Februar 2010
    Ajax Seite nachladen

    hi

    ich habe ein jquery loader geschrieben und ein problem, da ich in der geladenen seite kein javascript ausführen.

    könnte da mal jemand drüber schauen, und meinen fehler sehen! :angry:

    PHP:
    < script type = "text/JavaScript" >

        $(
    document ). ready (function() {          
             $(
    'a#linkOpen, area#linkOpen' ). click (function() { 
                var 
    toLoad  = $( this ). attr ( 'href' )+ ' #contentMain' ;
                var 
    href  = ($( this ). attr ( 'href' ));
                var 
    js  href . split ( '/' );
                
                
    js  js [{/ literal }{ $FUNC_POS_IN_URL }{ literal }] +  ".js" ;
                
                $(
    '#contentMain' ). hide ( 'slow' );
                $(
    '#contentMain' ). fadeOut ( 'fast' , loadContent );
                $(
    '#menu' ). append ( '<span id="load">LOADING...</span>' );  
                $(
    '#load' ). fadeIn ( 'normal' );
                
                function 
    loadContent () {                 
                    $(
    '#contentMain' ). load ( toLoad , '' , showNewContent
                    $.
    getScript ( "{/literal} { $MAIN_URL } {literal}/javascript/"  js );                 
                }
                
                function 
    showNewContent () {  
                     $(
    '#contentMain' ). show ( 'normal' );  
                     $(
    '#load' ). fadeOut ( 'normal' );
                 }
                return 
    false ;
             } );
            });  
        
        </
    script >

    Die zu ladene Datei hat folgendes javascript inne
    PHP:
    $( document ). ready (function() {
        
    //Nachrichtenfenster öffnen
        
    $( '#bt_nachrichten' ). click (function() {
            $.
    ajax ({
            
    url "nachrichten/showNewForm" ,
            
    success : function( transport ){
                $(
    '#loadData' ). html ( transport );
                $(
    '#loaddiv' ). show ( 'fast' );
            }
            });    
        }); 
    });
     
  2. 16. Februar 2010
    AW: Ajax Seite nachladen

    Also wenn man in einer mit Ajax gelandene seite kein JS ausführen kann musst du das ganze eigtentlich nur durch ein sogenanntes "evalscript" jagen.


    Prototype, Mootools ect haben extra ein Parameter names "evalScript:true" für das Ajax.Request für jQuery konnte ich sowas jetzt nicht direkt finden. jQuery wird bestimmt auch soetwas haben müstest du dich mal durch googlen. Ich hab leider jetzt nichts gefunden.
    Testweise kannst du aber mal die Funktion mit an Board bei dir nehmen.

    Durch diese Funktion jagst du deine Ausgabe. Sprich aus
    var test='blabla'; wird
    var test=evalScript('blabla');


    Spoiler
    Code:
    function evalScript(scripts)
    { try
     { if(scripts != '') 
     { var script = "";
     /*
     * <script[^>]*> sucht alle <script ...> Tags
     * ([\s\S]*?) liefert alles was zwichen den Tags steht zurück
     * <\/script> sucht alle </script> Tags
     */ 
     scripts = scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
     //Dies ist wie eine Art Schleife je nachdem wie oft Script Tags mit Code vorkommen daher wird es in der Variable "script" abgelegt
     if (scripts !== null) 
     script += arguments[1] + '\n'; //Packt den Code an der Variable 
     return '';
     });
     //Hier wird der String der nur noch Code enthalten sollte ausgeführt
     if(script) (window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);
     }
     return false;
     }
     catch(e)
     { alert(e)
     }
    }

    Du kannst aber nur Javsacript Code damit aufrufen und keine Datei mit JS inhalt.

    Wenn ich dein Problem total falsch verstanden hab, sorry ^^
     
  3. 17. Februar 2010
    AW: Ajax Seite nachladen

    ich danke dir für die antwort. hab das jetzt mit dieser funktion

    getScript() gelöst!

    zudem in jeder javascript $(document).ready() stehen. dann funktioniert alles einwandfrei
     
  4. 17. Februar 2010
    AW: Ajax Seite nachladen

    [X] erledigt

    ~ closed
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.