Comment puis-je redimensionner un swf pendant l'exécution pour que le navigateur crée des barres de défilement HTML ?

StackOverflow https://stackoverflow.com/questions/32871

Question

J'ai un swf avec du texte chargé dans un Sprite qui se redimensionne en fonction du contenu inséré - j'aimerais cependant que pour ceux qui sont plus longs que la page, le navigateur utilise ses barres de défilement natives plutôt que de le gérer en actionscript (très un peu comme http://www.nike.com/nikeskateboarding/v3/...)

J'ai jeté un œil à ce que Nike a fait, mais je n'ai tout simplement pas réussi à le faire.Des idées?

Était-ce utile?

La solution

Je ne l'ai jamais fait de cette façon mais je pense swffit pourrait peut-être y parvenir.

Autres conseils

L'astuce consiste à utiliser du JavaScript simple pour redimensionner le nœud Flash DOM :

function resizeFlash( h ) {
    // "flash-node-id" is the ID of the embedded Flash movie
    document.getElementById("flash-node-id").style.height = h + "px";
}

Que vous appelez depuis l'animation Flash comme ceci :

ExternalInterface.call("resizeFlash", 400);

Vous n'avez pas réellement besoin d'avoir le code JavaScript en externe, vous pouvez tout faire depuis Flash si vous souhaitez :

ExternalInterface.call(
    "function( id, h ) { document.getElementById(id).style.height = h + 'px'; }",
    ExternalInterface.objectID,
    400
);

La fonction anonyme sert simplement à pouvoir transmettre l'ID et la hauteur en tant que paramètres au lieu de les concaténer dans la chaîne JavaScript.

Je pense que JavaScript est assez multiplateforme.Si vous voulez voir un exemple en direct, regardez ce site : talkoftheweather.com.Il ne semble peut-être pas faire quoi que ce soit, mais il redimensionne automatiquement la taille de l'animation Flash pour s'adapter à toutes les actualités (il le fait juste après le chargement des actualités, ce qui est fait si rapidement que vous ne le remarquez pas).Le redimensionnement oblige le navigateur à afficher une barre de défilement verticale.

J'ai regardé à mi-chemin swffit mais la hauteur (et la largeur parfois mais principalement la hauteur) serait dynamique - swffit vous permet de déclarer un maxHeight mais ce nombre changerait constamment... peut-être que je pourrais comprendre comment le définir dynamiquement.Un bon point de départ pour moi - merci !

Ce que j'utilise principalement, c'est pour limiter la taille d'un flash "navigateur complet", et pour cela, cela fonctionne très bien.Bon piratage !

(et n'oubliez pas de poster vos découvertes ici, j'en aurai peut-être besoin trop tôt ;))

Taille SWF

Voir ici pour plus de détails.

Intuitsolutions.ca

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top