1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Flowplayer Destroy

Dieses Thema im Forum "Javascript & Ajax" wurde erstellt von Raven280438, 4. Januar 2017.

  1. Raven280438

    Raven280438 Erfahrenes Mitglied

    Hi,

    ich benutze Flowplayer Commercial v5.5.0

    Ich habe auf meiner Seite ein jQuery UI Dialog (Modal) in dem ich ein Video mit Flowplayer anzeigen.
    Wenn der Dialog geschlossen wird, soll auch der Flowplayer wieder aus dem Speicher gelöscht werden.

    Wie mache ich das am Besten? Die shutdown() Methode gibts irgendwie nicht.

    Hier mein Javascript:

    Code (Text):
    1. function trailer_popup(trailer_id)
    2. {
    3.     if ($("#trailer_popup_dialog").length > 0)
    4.     {
    5.         $("#trailer_popup_dialog").remove();
    6.     }
    7.    
    8.     $("body").append("<div id=\"trailer_popup_dialog\"><div class=\"loading\"><span>Lade ...</span></div></div>");
    9.    
    10.     //Dialog öffnen
    11.     $("#trailer_popup_dialog").load('/ajax/trailer_popup.php?trailer_id='+trailer_id, function() {
    12.         $(".flowplayer_"+trailer_id).flowplayer();
    13.     }).dialog({
    14.         modal: true,
    15.         dialogClass: 'trailer_popup_dialog',
    16.         close: function() {
    17.             console.log($(".flowplayer_"+trailer_id).data("flowplayer"));
    18.         }
    19.     });
    20.    
    21.     return false;
    22. }
    In der close-Methode soll der Player dann wieder aus dem Speicher gelöscht werden.


    Gruß
     
  2. SpiceLab

    SpiceLab ZENmechanic Premium-User

    Zitat-Quelle: http://dev72.flowplayer.org/demos/layout/

    jQuery-Script dieser Demo-Seite:
    Code (jQuery):
    1. // The smallest jQuery Overlay
    2. $.fn.overlay = function() {
    3.    var ACTIVE = "is-active"
    4.    function toggle(el) {
    5.       $("body").toggleClass("is-overlayed", !!el);
    6.       el ? el.addClass(ACTIVE).trigger("open") :
    7.          els.filter("." + ACTIVE).removeClass(ACTIVE).trigger("close");
    8.    }
    9.    // trigger elements
    10.    var els = this.click(function(e) {
    11.       toggle($(this));
    12.    });
    13.    // esc key
    14.    $(document).keydown(function(e) {
    15.       if (e.which == 27) toggle();
    16.    });
    17.    // close
    18.    $(".close", this).click(function() {
    19.       toggle(); return false;
    20.    });
    21.    return els;
    22. };
    23. // construct overlays
    24. $(".overlay").overlay().bind("close", function() {
    25.    // when overlay closes -> unload flowplayer
    26.    $(this).find(".flowplayer").data("flowplayer").unload();
    27. });
     
  3. Raven280438

    Raven280438 Erfahrenes Mitglied

    Hi,

    ich versteh nicht ganz was das mit dem Problem zutun hat?!
    Kannst du das bitte etwas genauer erklären?



    Gruß
     
  4. SpiceLab

    SpiceLab ZENmechanic Premium-User

    Vielleicht wird's Dir jetzt klarer.
    Zitat-Quelle: https://flowplayer.org/docs/api.html#extension-methods

    Der unload()-Event taucht im zuvor zitierten jQuery-Script auf.
     
  5. Raven280438

    Raven280438 Erfahrenes Mitglied

    Hi,

    also reicht ein unload()?


    Gruß
     
  6. SpiceLab

    SpiceLab ZENmechanic Premium-User

    Bei dem Abstand von fast unschlagbaren 2 Minuten zwischen unseren Beiträgen, von denen mind. die Hälfte für den "Posteingang/-ausgang"-Prozeß wegfällt, bleibt nicht viel übrig, um das zitierte jQuery-Script der "Overlay"-Variante näher angeschaut zu haben, geschweige denn, dem zugehörigen Link gefolgt zu sein, um sich gewissenhaft/seriös über dessen Inhalt zu informieren, damit man im Bilde ist/bleibt, und überhaupt "mitreden kann".

    Ansonsten wäre diese Frage jetzt nicht gefallen, und erklärt im Abgang auch, warum Du den Kern meiner ersten Antwort überhaupt nicht verstanden hattest.


    [edit]Tipp-Ex[/edit]
     
    Zuletzt bearbeitet: 5. Januar 2017
Die Seite wird geladen...