Ankündigung

Einklappen
Keine Ankündigung bisher.

nach Ajax Funktionen erneut laden

Einklappen

Neue Werbung 2019

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

  • nach Ajax Funktionen erneut laden

    Hallo

    Ich versuche mit pushState() nur den Hauptinhalt neu zu laden, was auch funktioniert. Nur stosse ich auf das Problem das die neu geladenen Inhalte die Funktionen verlieren.

    z.B. habe ich ein Script für Html5 Video (code gekürzt):

    Code:
    $(document).ready(function() {
    	if(document.createElement('video').play) {
    		
    		$('.mod_videohtml').each(function(i){
    			//add video
    		});
    	} else {
    		//add image instead
    	}
    });
    Nun wenn ich die Inhalte neu lade, funktioniert das ja eben nicht mehr.

    Wie geht man den hier am schlausten vor?

    Ich dachte mir eben ich mache mir daraus eine Funktion wleche ich registriere in meinem History Script damit ich nach erfolgreichem laden, diese wieder aufrufen kann, damit die neuen Videos auch erkennt werden.

    Oder gibt es da bessere Lösungen, welche ich nicht kenne? Besten Dank im voraus.

  • #2
    Wie du schon sagtest. "Neu laden". Das heißt, dass alle vorher gesetzten Parameter weg sind.

    Lade die Seite entweder mit entsprechenden Get oder Post Parametern und verarbeite diese dann.

    Kommentar


    • #3
      Hey danke Labrar. Doch ich will die ja eben nicht die ganze Seite neu laden.

      Lade die Seite entweder mit entsprechenden Get oder Post Parametern und verarbeite diese dann.
      ??? Habe ich nie erwähnt.

      Kommentar


      • #4
        Schau dir doch mal an, wie das jQuery mobile handhabt. Dort gibts pagecreate/pageinit-Events, in die du dich einklinken kannst. Lässt sich am einfachsten mit globalen Events - bspw. $(document).trigger('pagecreate')- oder mit dem Mediator-Pattern nachbasteln. Alternativ schnapp dir eins der Anwendungsframeworks - die bieten alle eine saubere Router-Implementierung an, die dir genau das abnimmt.
        I like cooking my family and my pets.
        Use commas. Don't be a psycho.
        [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

        Kommentar


        • #5
          Hey rudygotya, danke für die Tips, ich schaue mir diese mal an. Anwendungsframeworks? Meinst du z.B. Angular js?

          Kommentar


          • #6
            angular, backbone, ember,..: http://todomvc.com/
            I like cooking my family and my pets.
            Use commas. Don't be a psycho.
            [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

            Kommentar


            • #7
              Das TodoMVC ist blödes Beispiel um einem den Wert der jeweiligen Technologie zu vermitteln. Für den grundsätzlichen Einstieg ist das toll - zumindest dann, wenn man sich bereits für eine Technologie entschieden hat. Als belastbare Entscheidungshilfe taugen eigentlich nur die jeweiligen Dokumentationen. Wenn sich das TodoMVC für etwas besser oder schlechter eignet, oder schlimmer noch: "der Author" nicht das Knowhow hat, um die jeweilige Technologie bestmöglich einzubeziehen, dann wirft das ein unnötig schlechtes List auf eine Technologie.

              Stell dir vor, man würde Java und PHP anhand der Möglichkeiten zur Entwicklung von Desktopapplikationen vergleichen.

              (Und nein, ich glaube nicht, dass angular da schlecht weg kommt :P)

              Kommentar


              • #8
                Kommt immer auf den Blickwinkel an - http://phpmagazin.de/news/angularjs-bad-parts-177276

                Im Ernst, angular und flux/react sowie mit Abstrichen ember und backbone sind aktuell angesagt. Da alle die gleiche Programmiersprache nutzen, finde ich eine vergleichbare Implementierung mit gleichem Thema sehr praktisch für den 1. Eindruck. Der Blick in die Doku bleibt einem dabei nicht erspart, wenns ans Eingemachte geht.

                Stell dir vor, man würde Java und PHP anhand der Möglichkeiten zur Entwicklung von Desktopapplikationen vergleichen.
                Der Vergleich hinkt - eher GTK vs QT unter Linux.

                Wenn sich das TodoMVC für etwas besser oder schlechter eignet, oder schlimmer noch: "der Author" nicht das Knowhow hat, um die jeweilige Technologie bestmöglich einzubeziehen, dann wirft das ein unnötig schlechtes List auf eine Technologie.
                Ursprünglich wurde das von Addy Osmani angefangen, der mittlerweile die Referenzimplementierungen der Beitragenden reviewed. Die Implementierungen sind nicht unbedingt best practice, sondern sollen einfach einen kleinen Einblick ermöglichen.. Jedoch würde ich nicht so weit gehen, dass das in irgendeiner Art ein schlechtes Licht auf ein Framework werfen würde. Detailimplementierungen sind immer auch ein wenig Geschmackssache, soviel Lesekompetenz muss man halt mitbringen.
                I like cooking my family and my pets.
                Use commas. Don't be a psycho.
                [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

                Kommentar


                • #9
                  Zitat von rudygotya Beitrag anzeigen
                  Kommt immer auf den Blickwinkel an - http://phpmagazin.de/news/angularjs-bad-parts-177276
                  Die Bugs sind bekannt, treten aber nur in sehr seltenen Fällen auf. Das seltsame Verhalten von ng-if ist bekannt. Man braucht auch ng-if nicht wirklich. ng-show bzw. ng-hide sind ein guter Ersatz: http://jsfiddle.net/1op3L9yo/230/

                  Das zweite Problem ist auch bereits vor langer Zeit gelöst worden. Statt ...

                  PHP-Code:
                  myApp.controller('MyCtrl', function ($scope) {
                  }); 
                  ... schreibt man einfach ...

                  PHP-Code:
                  myApp.controller('MyCtrl', ['$scope', function ($scope) {
                  }]); 
                  Problem 3: Naja, da kann man sicher auch lösen. Ich habe bislang nicht mehr als 700 Bindings gebraucht und kann daher zu diesem Problem nicht viel sagen.

                  Durchblick oder Nörgelei? In meinen Augen eher letzteres. Klar, jede Technologie hat so ihre Tücken. Aber mal ehrlich: Wenn man an den Punkt gekommen ist, wo man mit den Mitteln von AngularJS nicht mehr auskommt, kann man doch einfach auf eine andere Technologie setzen. Man kann Angular dann einfach an dieser Stelle ignorieren.

                  Kommentar


                  • #10
                    Der Link war nicht ganz ernst gemeint, ist wohl leider falsch rübergekommen. Sorry für die Polemik.
                    I like cooking my family and my pets.
                    Use commas. Don't be a psycho.
                    [URL="http://jscouch.de"]Blog[/URL] - [URL="http://coverflowjs.github.io/coverflow/"]CoverflowJS[/URL]

                    Kommentar

                    Lädt...
                    X