10
votes

précharge SWF avec jQuery / JS

Je voudrais précharger le SWF avant de les montrer à l'utilisateur.

SWF sont dynamiques et je n'ai pas les fichiers FLA.

J'aimerais le faire en utilisant JavaScript ou JQuery si possible.


1 commentaires

Pourriez-vous charger le SWF dans votre propre chargeur flash qui s'occupera de la précharge et de l'afficher uniquement une fois qu'il est prêt? Le script flash serait facile, je peux aider si vous le souhaitez.


6 Réponses :


0
votes

Pouvez-vous précharger la page entière? Si oui, voici une idée avec jQuery:

http://www.gayadesign.com/scripts/queryloader/


2 commentaires

La démo a l'air géniale. Mais je ne peux pas précharger la page entière. Je voudrais probablement utiliser votre chargeur de query dans d'autres projets. :)


Pouvez-vous enfermer le flash dans un iframe et précharger cela?



0
votes

Personnellement, je pense qu'il est préférable d'utiliser une chargeuse polie basée sur Flash, car cela peut être aussi peu que 5 Ko. Le code ne doit pas nécessairement être si difficile, quelque chose du long des lignes de: xxx

ceci utilise le DisplayObjectutil Disponible sur github: https://github.com/ahmednuaman/as3


0 commentaires

2
votes

Je ne sais pas si vous cherchez toujours des réponses, mais ici c'est.

  1. Créez deux divs dans votre page. Donnez-en une une pièce d'identité appelée Chargement, et une autre fonction ID, et cachez la fonction. Placez votre contenu Flash à l'intérieur de la fonctionnalité et assurez-vous de masquer la fonctionnalité avec l'affichage CSS: Aucun.

    Ensuite, en haut de votre page, ou où que vous fassiez vos trucs surcharger, procédez comme suit: xxx

    et là que vous l'avez. Chargement intérieur, vous pouvez mettre l'une de ces joyeuses petites graphiques de roue en filage. Je suis sûr qu'il y a des choses plus sophistiquées que vous pouvez faire avec des rappels, mais cela fera le travail de précharge.

    Profitez.


0 commentaires

6
votes

regarder Swfjspreloader :

Ce préchargeur accepte une gamme d'actifs (JPG, GIF, PNG, SWF). tiens à précharger. En interne, cela créera une application flash qui fait la précharge. Vous pouvez définir plusieurs gestionnaires de rappel. Donc JavaScript apprend à savoir quand tous les actifs sont chargés ou chaque single L'actif est chargé, y compris les fichiers SWF.


0 commentaires

1
votes

Vous pouvez d'abord charger le fichier SWF via AJAX, puis ajouter un objet à dom.
De cette manière, le navigateur utilisera le cache, SWF est rechargé du cache et est immédiatement prêt.

Suivez un échantillon de ce que je dis (je ne peux pas vous donner un échantillon de violon, car vous avez besoin d'un SWF local pour être AJAX chargé) .
SWFObject peut être utilisé dans la fonction "LoadObject" pour une meilleure configuration d'objet SWF.
"MySwffunction" s'appelle après que SWF est chargé. Il peut être supprimé si non nécessaire. P>

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Swf demo</title>
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.8.2.js'></script>
    <style type='text/css'>
    </style>
    <script type='text/javascript'>
        $(window).load(function () {
            var loader = new 
    function () {

        var loadObject = function ($el, src, callback, width, height) {
            var d = document;
            var s = 'object';
            var obj = d.createElement(s);

            obj.type = 'application/x-shockwave-flash';
            if(width){
             obj.width = width.toString() + 'px';
            }
            obj.name = 'plugin';

            if(height){
             obj.height = height.toString() + 'px';
            }

            obj.data = src;
            $el[0].appendChild(obj);
        };


        this.loadSwf = function ($el, src, callback, width, height) {

          $.ajax({
            url: src,
            success: function (data) {
                loadObject($el, src, callback, width, height);
                if(callback) callback();
            },
            error: function (xhr) {
                //your error code
            }
          });

        };


        } ();

        var mySwfCallback = function()  {
            $('#mySwf').show();
        }

        var $el = $('#mySwf');
        var src = 'your_file_url.swf';
        loader.loadSwf($el, src, mySwfCallback, 300, 300);
    });
    </script>
</head>
<by>
    <div id='mySwf' style='display:none;' >
    </div>
</body>
</html> 


0 commentaires

0
votes