Comment puis-je lire un fichier .swf à l'aide de Google Chrome?

29

J'ai un fichier * .swf et je n'ai pas de lecteur flash installé sur ma machine Windows XP.

Existe-t-il un moyen de lire le fichier .swf à l'aide de Google Chrome ou existe-t-il une application Web qui me permet de lire .swf? Cela ne me dérange pas d'installer un plug-in de navigateur, mais cela me dérange d'installer une application de bureau.

Graviton
la source
Avez-vous besoin d'installer Adobe Flash Player sur votre système?
2011

Réponses:

3

Chrome a un lecteur Flash intégré appelé PepperFlash. Allez sur chrome: // plugins / et assurez-vous que "Adobe Flash Player" est activé. Vous pouvez également accéder à chrome: // components / pour vous assurer qu'il est mis à jour. Si vous rencontrez toujours des problèmes, accédez à "Votre racine" \ Utilisateurs \ "Votre nom d'utilisateur" \ AppData \ Local \ Google \ Chrome \ User Data \ PepperFlash \ "Numéro de version" \ Puis renommez pepflashplayer.dll en pepflashplayerX.dll.

Catttdaddy
la source
Étant donné que Chrome devrait lire les fichiers SWF naturellement, c'est la meilleure réponse à la question d'origine sans avoir besoin de solutions de contournement.
Chris J
11
Cela ne fonctionne plus. Essayez d'aller sur chrome: // plugins / - il a été supprimé dans les versions récentes. Cela cause un enfer total pour les développeurs Flash qui activent le contenu sur les machines clientes. Merci Google!
1owk3y
1
Où sont les nouveaux plugins chrome: //? A-t-il été déplacé vers chrome: // settings ??
Pacerier
1
@Pacerier Il n'y a pas de "nouvelle" version de cette page - elle a été supprimée, car Google Chrome n'utilise plus de plugins.
duskwuff
82

J'avais créé un fichier flash.htmlavec ce contenu:

<object>
    <embed src="file.swf" width="100%" height="100%"></embed>
</object>

Puis ouvert le fichier dans Chrome.

Sinon, lorsque je faisais glisser un swffichier vers Chrome, il ne faisait que le télécharger.

warvariuc
la source
2
Flash ne sera plus pris en charge à partir de 2020. blog.google/products/chrome/saying-goodbye-flash-chrome "... Si le site continue d'utiliser Flash et que vous autorisez le site à exécuter Flash, cela fonctionnera jusqu'à la fin de 2020 "
Pacerier
5

La réponse de Catttdaddy est fondamentalement correcte, mais avec Chrome version 57 et versions ultérieures, les plugins sont obsolètes (pour plus d'informations, voir ceci ) et vous devrez peut-être activer Flash d'une autre manière, via les paramètres de Chrome. Sans l'activer, le fichier sera téléchargé au lieu d'être ouvert. Pour activer Flash dans Chrome:

  • Entrez l'URL chrome: // settings /
  • Recherche de "Flash"
  • Sous Confidentialité, cliquez sur "Paramètres de contenu"
  • Sous Flash, choisissez l'option "Autoriser les sites à exécuter Flash"

Vous souhaiterez peut-être revenir à votre paramètre d'origine pour des raisons de sécurité ou pour d'autres raisons après avoir ouvert le fichier SWF.

Framboise bleue
la source
3
Pour moi, il ne suffisait pas de cocher simplement "Autoriser les sites à s'exécuter en flash". En fait, il a été coché et pourtant le flash a été téléchargé et non joué. J'ai dû décocher "Demander d'abord" juste en dessous - cela a résolu le problème.
nirvana-msu
3

Vous pouvez lire des fichiers .swf avec Google Chrome. Faites simplement glisser le fichier de son emplacement actuel vers votre onglet actuel.

boo hoo
la source
1
Comment peut-on le faire à partir de la ligne de commande? La commande google-chrome myfile.swfveut le télécharger.
pts
Cela m'a résolu: superuser.com/a/783451/19956
pts
10
Ne fonctionne pas car il continue de télécharger le fichier à la place.
Jose Ramirez le
2

Pour les utilisateurs Linux rencontrant ce problème, j'ai créé le script suivant comme solution de contournement:

Avant de continuer, vous devez vous assurer que pepper-flash est installé pour Chrome / Chromium, (flashplugin pour Firefox) la seule façon de vérifier (sans utiliser la solution de contournement ci-dessous) est de lire un fichier flash sur Internet. (ou dans Firefox, allez sur about: plugins et voyez s'il a "Shockwave Flash")

#!/bin/bash
if [ -z $1 ]; then
   swf=$(ls *.swf | tail -1)
else
   swf=$@
fi


html=$(echo $swf | sed 's:swf:html:g')
echo '<embed src='$swf 'width="100%" height="100%"></embed>' | sed 's:src=:src=":g' | sed 's:swf:swf":g' > "$html"

#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

(alternativement compatible avec le tiret)

Pour utiliser le script, enregistrez-le sous swftohtml.sh (il peut s'agir de n'importe quel nom, ne doit pas se terminer par .sh) à l'emplacement de votre choix, puis convertissez-le en une commande exécutable, créez-en un alias dans bashrc ou copiez-le dans / usr / bin /. N'oubliez pas d'exécuter chmod + x swftohtml.sh pour le rendre exécutable.

Lorsqu'il est exécuté sans argument, le script recherche dans le dossier actuel un fichier swf et crée un fichier html correspondant qui peut être utilisé pour exécuter ce fichier swf dans un navigateur. S'il y a plus de 1 fichiers swf dans le dossier, il sera par défaut le dernier (par exemple, si vous avez filename1.0.swf et filename2.0.swf, il sera par défaut en filename2.0.swf)

Alternativement, pour cibler un fichier swf spécifique, vous pouvez entrer le nom de fichier (ou le chemin complet du fichier) comme argument pour le script et il l'utilisera à la place. (par exemple, swftohtml.sh nom de fichier 1.0.swf )

Si vous souhaitez automatiser entièrement le script:

Pour ouvrir automatiquement les fichiers swf dans votre navigateur et automatiser la suppression du fichier html résultant après son utilisation, décommentez l'une des lignes suivantes au bas du script (selon votre navigateur):

#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

Le script ouvrira maintenant le fichier html dans votre navigateur dès qu'il aura été créé. S'il existe une instance existante de votre navigateur en cours d'exécution, il supprimera le fichier html en 20 secondes (vous donnant amplement le temps de dire au navigateur d'ouvrir le fichier avec son plugin flash). S'il n'existe aucune instance existante de votre navigateur, le fichier sera supprimé à la place 20 secondes après la fermeture du navigateur.

Avec cet ensemble, vous pouvez configurer les fichiers SWF pour qu'ils s'ouvrent avec le script, et le processus est maintenant entièrement automatisé afin que vous puissiez ouvrir les fichiers SWF directement, sans jamais vous soucier de créer (ou supprimer) les fichiers html à la main, en d'autres termes, il se comportera comme il se doit maintenant. (Gardez à l'esprit qu'il peut y avoir quelques cas d'angle où le fichier html n'est pas supprimé cependant, lorsque cela se produit, vous pouvez l'ignorer en toute sécurité.)

Pour les utilisateurs de Firefox:

La version Firefox était un peu plus délicate, elle nécessite l'installation de wmctrl et xdotool. La raison en est que pour que firefox puisse lire les fichiers swf locaux de cette manière, vous devez désactiver plugins.http_https_only dans about: config , le script le désactive automatiquement, ouvre le fichier flash, puis le réactive, car il s'agit d'un paramètre le plus les gens voudront généralement garder activé. Le navigateur doit être ouvert avant l'exécution de la commande. Si vous pensez qu'il est probable que votre navigateur Firefox soit fermé lorsque vous exécutez la commande, remplacez la ligne par ceci:

firefox about:config & sleep 1 && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"

Il donnera maintenant au navigateur 1 seconde pour se lancer avant d'exécuter le reste du script. (Peut-être besoin d'être ajusté pour les ordinateurs plus lents).

La version Firefox du script supprimera toujours le fichier après 20 secondes.

Test de performance:

J'ai fait des tests de performances rudimentaires et voici mes résultats:

  • Flash Chrome / Chrome Pepper (PPAPI): le plus rapide
  • Projecteur Adobe Flash (NPAPI) (Wine): Rapide
  • Firefox Flashplugin (NPAPI): le plus lent

En ce qui concerne la stabilité, il y a des cas où PPAPI rencontrera des bugs / erreurs que NPAPI ne fait pas, mais ils sont rares.

Les performances entre Pepper Flash et Flash Projector étaient plutôt petites (c'est notable, mais à peine) alors que les performances du plugin flash firefox étaient sensiblement plus lentes que les autres pour une raison quelconque.

Ainsi, si jouer à des jeux flash est le but, je recommanderais d'utiliser du chrome avec du poivre flash installé sur le reste, en général. Pour d'autres tâches, il est peu probable que cela importe.

Cestarian
la source
0

Sauf erreur, vous avez besoin du plugin pour lire les fichiers SWF car le SWF nécessite que la bibliothèque actionscript fonctionne.

Fergus
la source
2
Merci, des idées où obtenir le plugin et comment lire les fichiers swf dans google chrome?
Graviton
Chrome est livré avec flash intégré.
Rich Bradshaw