Forums Développement Multimédia

Aller au contenu

- - - - -

forcer l'acceptation d’éléments flash dans internet explorer

CODE

12 réponses à ce sujet

#1 twiggyy

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 09 April 2015 - 10:08 AM

Bonjour,

Savez-vous s'il est possible à l'aide d'un ".bat" par exemple, de forcer l'acceptation d’éléments flash dans internet explorer?

Pour être plus claire, j'ai un micrologiciel flash (qui fonctionne en appelant des XML et est aussi piloté par quelques lignes de HTML etc... Bref le truc BIEN COOL: D) on va appeler ça le "Template"

Le template doit pouvoir être lancer par un utilisateur qui ne connaît rien de rien et qui ne sait pas aller dans les paramètres globaux pour autoriser un dossier.

Donc vu que c'est un truc qui va être déployé pour 20000 personnes, un tuto est hors de question... donc il me faut un truc automatique...

J'ai pensé le faire via un .bat qui injecterait en code directement les bons réglages mais je vois pas comment m'y prendre:( quelqu'un peut-il m'aider?

Merci

#2 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6948 messages

Posté 09 April 2015 - 11:45 AM

Bonjour,

As-tu assayé d'exporter ton appli via AIR ?

#3 twiggyy

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 09 April 2015 - 11:50 AM

Non je n'ai pas essayé parce que lorsque je veux faire un export (swf,exe, ou autre) je suis obliger de passer par adobe flash et je peux pas lire le fichier html (qui contient le java) ce qui fait un code manquant...:(

#4 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6948 messages

Posté 09 April 2015 - 12:05 PM

J'ai du mal à voir comment s'assemblent tes différentes sources pour composer ton programme.
Du html qui pilote du SWF en passant par du Java ???
Déjà est-ce du JAVA ou du JAVASCRIPT ?
Bref, sans un peu plus d'infos sur la conception de ton ensemble, difficile de t'aider plus pour le moment.

#5 twiggyy

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 09 April 2015 - 12:13 PM

Le template est lancé à partir du fichier "index.html".
Le fichier html va appeler un fichier "index.swf".
Le swf reçoit des information qui vont former slide via des xml, mais l'interface pour passer d'une slide xml a une autre est elle en JAVASCRIPT (qui lui est appeler par le html)

Je sais que c'est une usine a gaz mais il fonctionne en local et sur une plateforme LMS. Mais en local il faut simplement allé dans les paramètre globaux de flash et lui dire que l'emplacement du swf est safe.
je voudrais juste pouvoir contourner cette contrainte

#6 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6948 messages

Posté 09 April 2015 - 12:37 PM

A quoi sert la page HTML ?
Tes slides sont dans Flash, si je comprend bien, alors pourquoi du JS pour piloter le changement de slide ?
Ne peux-tu remplacer le JS par du code AS ?
A mon avis, tu as là un mélange de technos dont tu pourrais te passer pour tout intégrer dans le SWF et finalement publier en AIR à la fois pour Windows, IOS et Android, ce qui te donnerai une appli portable avec la possibilité de passer la Sandbox liée aux SWF locaux.
Si ton programme est de toute façon destiné à tourner en local je pense que c'est là dessus que je me dirigerai.

Pour en savoir plus sur les Sandbox :
http://help.adobe.co...90204-7e3f.html
http://help.adobe.co...90204-7e3f.html

#7 twiggyy

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 09 April 2015 - 12:45 PM

Tu as raison et c'est aussi mon souhait mais le problème c'est que je ne suis pas développeur.
En fait j'ai fait le test d'une conversion exe depuis flash et j'ai le template qui fonctionne bien sauf au moment des exercices (avec donc le javascript) et lui plante...
C'est a dire que j'ai 99% du fichier qui lui fonctionne parfaitement en exe mais comme il n'arrive pas a utiliser les fonctions en javascript a un moment il bloque...
Si tu veux tous savoir c'est un vieux truc que des mecs qui sont parti, ont développé pour une plateforme lms. Ca a fonctionner sans problème dessus et maintenant le client a besoin de le déployer le même template autrement (et donc en local) et c'est la le problème.

Donc j'ai chercher un moyen de convertir un html en exe mais je n'ai rien trouver de fonctionnel et comme je pense qu'il n'y a pas 36000 moyen d'avoir un "package executable" je sèche... Et j'ai plus d'idée entre le .bat avec les autorisation adobe automatique et le .exe....

#8 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6948 messages

Posté 09 April 2015 - 12:51 PM

Concentre toi sur la partie qui bloque, si 99% de ton appli fonctionne et qu'elle plante au niveau du JS il faut absolument essayer d'intégrer les fonctions JS au sein du code de l'appli (le SWF), je ne vois que ça comme solution "propre".

Peux-tu nous dire plus précisément ce que fait le bout de code JS concerné ?
On verra si il y a des moyens de le remplacer par un bout de code AS dans ton appli.

#9 twiggyy

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 09 April 2015 - 12:57 PM

En fait le bout de code qui me tue est dans le html.
C'est un code qui va appeler un fichier en ".JS"

le voila:

function suivant_swfexterne(val){
SuivantActionScript();
}
function SuivantActionScript()
{  
  document.getElementById('index').suivantActionScript();
}
//------------------
//-->
</script>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
function embedonLoad() {
var flashvars = {};
var params = {};
params.play = "true";
params.menu = "true";
//params.scale = "showall";
params.scale = "noscale";
params.wmode = "opaque";
params.allowscriptaccess = "always";
var attributes = {};
attributes.id = "index";
attributes.name = "index";
var swfVersionStr = "10.0.0";
swfobject.registerObject("index", swfVersionStr);
swfobject.embedSWF("index.swf", "index", "100%", "100%", swfVersionStr, "expressInstall.swf", flashvars, params, attributes);
}
/*
function embed() {
alert('loaded');
}*/

window.onload = embedonLoad();//embedonLoad();
//embedonLoad();
//-->
</script>
 


Le truc c'est que je ne vois pas comme intégrer ça dans mon "main.as" qui est le script principale de mon fla.
Et pour couronner le tous, le fichier "main.as " est un package dans lequel tous est importé avec : "import" (jusque la ça va)
et après je ne connaissais pas les "public" ou "private" ce qui fait qu'a la moindre modif mon fla saute...
:(
Je te remercie en tous cas

#10 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6948 messages

Posté 09 April 2015 - 14:10 PM

Ceci est juste le code d'intégration du SWF dans la page HTML :

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
function embedonLoad() {
var flashvars = {};
var params = {};
params.play = "true";
params.menu = "true";
//params.scale = "showall";
params.scale = "noscale";
params.wmode = "opaque";
params.allowscriptaccess = "always";
var attributes = {};
attributes.id = "index";
attributes.name = "index";
var swfVersionStr = "10.0.0";
swfobject.registerObject("index", swfVersionStr);
swfobject.embedSWF("index.swf", "index", "100%", "100%", swfVersionStr, "expressInstall.swf", flashvars, params, attributes);
}
/*
function embed() {
alert('loaded');
}*/

window.onload = embedonLoad();//embedonLoad();
//embedonLoad();
//-->
</script>

Au passage le SWF intégré prend l'ID "index".
Puis ton code JS :

function suivant_swfexterne(val){
SuivantActionScript();
}
function SuivantActionScript()
{  
  document.getElementById('index').suivantActionScript();
}

Ce code ne fait qu'une chose, appeller l'élément qui est référencé avec l'ID "index" (donc le SWF) et lui passe une fonction : suivantActionScript()

Regarde si dans le "main.as" tu as cette fonction, si oui alors tu as résolu ton problème, sinon c'est que cette fonction est ailleurs (généralement dans un autre fichier JS qui se trouve quelque part dans l'appli et est chargé dans la page HTML), et dans ce cas il faut chercher cette fonction pour voir ce qu'elle fait.

Citation

Et pour couronner le tous, le fichier "main.as " est un package dans lequel tous est importé avec : "import" (jusque la ça va)
et après je ne connaissais pas les "public" ou "private" ce qui fait qu'a la moindre modif mon fla saute...

C'est en fait une classe en POO, et là si tu ne connait pas la POO ça ne va pas être simple à expliquer...

#11 twiggyy

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 09 April 2015 - 14:21 PM

Je te remercie pour ta réponse.

Oui dans mon main.as j'ai retrouvé ça mais ca ne fonctionne pas. Je crois que c'est parce qu'il ne charge pas le fichier en ".js"
dans le html j'ai aussi cette ligne la:

<script type="text/javascript" src="swfobject.js"></script>
 

Et c'est dedans réellement qu'il défini la fonction de "suivantActionScript"
en fait je crois que j'ai compris, il faut que je trouve comment charger le script swfobject.js dans le main.as?

En fait j'ai trouvé ca dans le main.as


  private function init(e:Event):void
  {
   removeEventListener(Event.ADDED_TO_STAGE, init);
 
   if (compconnectionsr == 0)
   {
   if( ExternalInterface.available )
           {
         ExternalInterface.addCallback("envoisaveddata", RecupData);
    ExternalInterface.addCallback("envoiActionScript", RecupScoreJS);
    ExternalInterface.addCallback("suivantActionScript", SeqSuivante);
    ExternalInterface.call("SCOInitialize");
    ExternalInterface.call("IEGOOD1");
          compconnectionsr = 1;
    }
            function SeqSuivante(){
          sequences.suivant();
                  }
   }
 

Bon le SCOInitialize c'est parce qu'il y a du scorm, mais au delà de ca je comprend qu'en fait "suivantActionScript" n'est pas vraiment defini donc ca ne peut pas marcher...Tu pense qu'il est possible d'importer le JS comme tu importerais un fscommand?
C'est a dire un truc qui donnerai ca :

import javascript.swfobject.js;
 
Merci

#12 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6948 messages

Posté 09 April 2015 - 15:25 PM

Re,

Ca ne va pas être simple de t'expliquer comment tout ça marche.
Si le développeur qui vous à monté ça n'a en plus laissé aucune notice, doc ou commentaire, ça va être encore plus dur.

1 - trouve l'endroit où se trouve la fonction : suivantActionScript()
2 - essaye de trouver à quoi sert exactement cette fonction (ça peut aider)
3 - copie/colle tout le code de cette fonction ici pour qu'on voie ce qu'il en est

Citation

Je crois que c'est parce qu'il ne charge pas le fichier en ".js"
dans le html j'ai aussi cette ligne la:

Rien à voir, ici c'est le code d'insertion pour ton objet SWF.

Tu à l'air de te lancer dans des modifs sur une appli développée en POO (Programmation Orientée Objets qui fait appel à des notions avancées de programmation) et multi-technos (HTML/JS/SWF/AS) sans avoir de notions dans aucune de ces technos... C'est un peu comme essayer de réparer une Formule 1 quand on a jamais vu une voiture, ça risque de prendre un moment.

Il faut déjà essayer de comprendre à quoi les choses servent, puis pourquoi on les as utilisées et comment.
Après tout dépend de ce que tu veux faire, si c'est apprendre car tous as tout ton temps, alors il faut revoir les choses pas à pas, sinon fais appel à un développeur pour qu'il te débrouille tout ça et fasse le boulot rapidement, ça te coûtera des sous mais au moins ce sera propre et tu disposera d'une version distribuable à tes utilisateurs. Si tu dis que vous avez près de 20 000 postes à équiper ton client ne doit pas être à quelques jours de développement de plus sur le devis et tu perdrait beaucoup moins de temps.

#13 twiggyy

    Ceinture Blanche

  • Members
  • Pip
  • 7 messages

Posté 09 April 2015 - 15:42 PM

Le problème c'est que je n'ai pas la possibilité de faire venir quelqu'un... J'vais essayer de me débrouiller.
Dans tous les cas, Merci Monsieur Spi pour ton aide.^^




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP