Forums Développement Multimédia

Aller au contenu

Redirection vers site si non détection de flash player

PAO Flash

25 réponses à ce sujet

#1 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 12 March 2012 - 08:48 AM

Bonjour à tous,
Je poste sans doute au mauvais endroit... Je travaille sur un site, qui ne possède pas de version mobile mais qui est visible proprement depuis un smartphone.
Au début de ce site, il y a une intro flash que j'ai réalisée, mais je ne veux pas qu'un utilisateur depuis un iphone ou autre accède à l'intro, car il ne pourra pas la lire, il quittera donc la page vierge sans avoir visité le site.
Existe-il quelque chose, peut être à rajouter dans le code de mon anim, sur mon index.html, afin que l'utilisateur, qui ne disposerait pas d'adobe flash player, soit redirigé directement sur la page d'accueil du site ?

J'ai cherché, je trouve seulement des lignes de codes pour le htaccess qui redirige vers un site mobile, ce qui ne me va pas en soit !

Merci d'avance,
Max

#2 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2532 messages

Posté 12 March 2012 - 20:49 PM

Salut,

Tu peux utiliser swfObject pour tester la présence de flash

Exemple ici :
http://code.google.c...sion(versionStr)

Regarde la démo et pour tester, tu peux sous firefox (par exemple), désactiver le plugin

edit : après, il suffit de faire une redirection en javascript window.location( )
"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#3 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 19 March 2012 - 15:11 PM

Re-
Excuse moi, je ne m'étais pas abonné au sujet !

Merci, tout d'abord de ton aide. Je suis allé voir ton lien, j'ai trouvé ce qu'il me faut je pense ( voir ci dessous?)
Peux tu me dire comment l'utiliser ?
Où intégrer le code, dans la première image de mon animation, sur ma time line 'actions' ?
Que rajouter après l'acollade pour que l'utilisateur reste sur la page si il a bien flash ? Rien ?
Et pour else, je mets l'url de la page d'accueil, directement ? Pas d'évènement ? ( il s'agit de ton édit, que je n'ai pas saisi, je suppose).

Je suis un peu perdu ! Merci d'avance.
Max


if (swfobject.hasFlashPlayerVersion("9.0.18")) {
// has Flash
}
else {
// no Flash
}

#4 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2532 messages

Posté 19 March 2012 - 22:09 PM

Salut,

Citation

Où intégrer le code, dans la première image de mon animation, sur ma time line 'actions' ?

Du tout, ce code est du javascript et doit être placé dans la page HTML car c'est avant même de lancer le flash qu'il doit s'exécuter.

Si l'utilisateur dispose bien de flash, tu dois charger le fichier SWF en utilisant une des méthodes proposées par SWFObject, dans le cas contraire, tu rediriges vers une autre page avec un code javascript


document.location.href("http://www.forums.mediabox.fr") ;
 

"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#5 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 19 March 2012 - 22:16 PM

Ok !
Donc, j'ai trouvé ça sur un autre forum, j'ai fais mes petits tests comme tu disais !


Victoire, ca fonctionne impeccablement dans mozilla, mais sur iphone, bizarrement, il redirige vers l'intro flash, comme si il détectait flash player !
Comment expliquer cela ?

Merci !


<SCRIPT LANGUAGE=JavaScript1.1>
<!--
var MM_contentVersion = 6;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
    var words = navigator.plugins["Shockwave Flash"].description.split(" ");
   for (var i = 0; i < words.length; ++i)
   {
        if ( isNaN(parseInt(words[i]) ) )
            continue;
            var MM_PluginVersion = words[i];
   }
var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0
   && (navigator.appVersion.indexOf("Win") != -1)) {
    document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide this from IE4.5 Mac by splitting the tag
    document.write('on error resume next \n');
    document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
    document.write('</SCR' + 'IPT\> \n');
}

if ( MM_FlashCanPlay ) {
    window.location.replace("http://urlavecintroflash.htm");
} else{
    window.location.replace("http://urlsansflash.htm");
}
//-->

</SCRIPT>


#6 Goabonga

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2724 messages

Posté 20 March 2012 - 10:57 AM

moi je te conseil d'utiliser http://wurfl.sourceforge.net/ en php par exemple .....

#7 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 20 March 2012 - 11:04 AM

Ca a l'air vraiment complexe !
Je cherchais simplement des lignes de codes, en html, afin de pouvoir détecter flash. Ce que j'écris plus haut fonctionne parfaitement avec un ordinateur qui n'a pas le plugin, mais pas avec un smart phone...?
N'existe il pas un autre script qui marcherait et que l'un d'entre vous utilise régulièrement ?

Merci!
Max

#8 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2532 messages

Posté 20 March 2012 - 19:17 PM

Peut-être comme ça ?

note : j'ai juste testé sur un ipad et sous FF et Chrome


<script type="text/javascript">
  if( navigator.plugins["Shockwave Flash"] ){
   document.write("Flash présent en version " + navigator.plugins["Shockwave Flash"].description ) ;
  }else{
   document.write("Flash non présent") ;
  }
</script>
 

"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#9 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 20 March 2012 - 19:23 PM

Merci switcher ! peut on récapituler afin que je le teste avec mes urls et que je ne me trompe pas ?
J'ai un index.html sur lequel il y a ton code, et deux autres fichiers pour la redirection (flash et non flash)?
Ais-je mal mis mes urls dans ton code ?
Merci infiniment de ton aide en tout cas!

<script type="text/javascript">
if( navigator.plugins["Shockwave Flash"] ){
document.write("http://blablaavecflash.com/indexflash.html" + navigator.plugins["Shockwave Flash"].description) ;
}else{
document.write("http://blablasansflash.com/indexsansflash.html") ;
}
</script>

#10 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2532 messages

Posté 20 March 2012 - 19:26 PM

Mon script ne fait qu'afficher un message (document.write = écrit dans le document HTML), pour la redirection, tu dois utiliser document.location.href()


<script type="text/javascript">
  if( navigator.plugins["Shockwave Flash"] ){
   document.location.href("http://monSiteEnFlash") ;
  }else{
    document.location.href("http://monSiteEnHTML") ;
  }
</script>
 

"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#11 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 20 March 2012 - 19:37 PM

Je doit être parfaitement nul, parce que j'essaie tout ce que je peux avec ce que tu me décris, sur mes fichiers, et rien n'y fait.
Peut être ais-je mal compris et dois-je simplement remplacer une partie de mon script plus haut par le tiens, comme je le trouve très court ?

J'ai eu remplacer mon long code par le tiens, remplacer les urls, rien n'y fait. Je ne comprends sans doute pas ce que tu veux dire.
Mais je suis certain que tu vas m'aider, puisque tu as testé et que ça fonctionne, ca me motive donc!

#12 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2532 messages

Posté 20 March 2012 - 19:44 PM

C'est plutôt moi qui suis nul, voici la bonne syntaxe ^^


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
  if( navigator.plugins["Shockwave Flash"] ){
   document.location.href="index_avec_flash.html" ;
  }else{
   document.location.href="index_sans_flash.html" ;
  }
</script>
</head>
<body>
</body>
</html>
 

"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#13 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 20 March 2012 - 19:51 PM

Merci infiniment !
La mention " génie" te convient-elle ?

Je suppose que si elle fonctionne sur ipad, c'est ma version d'iphone qui est trop vieille et pourrie, car j'ai la même chose qu'avec mon premier script!
Peux tu éventuellement tester ( ce sont des pages de test pour l'intro) sur ton ipad, si tu es bien redirigé vers un index sans flash ?
http://cocc-idee.com/tby/index.html

#14 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2532 messages

Posté 22 March 2012 - 21:49 PM

Salut,

Je viens de tester ton URL sur ipad et iphone et ça fonctionne, je suis redirigé sur une page avec simplement le logo et le menu en dessous.

note : l'ipad (v1) est à jour et l'iphone doit être en version 3.x (donc pas à jour du tout lui ^^)

PS : content d'avoir pu t'aider à avancer
"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#15 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 22 March 2012 - 21:50 PM

Génial !
Merci et à bientôt!
Max

#16 Rym

    Ceinture Blanche

  • Members
  • Pip
  • 1 messages

Posté 23 May 2012 - 10:37 AM

Bonjour :

je viens de tester votre dernier code et ça marche trés bien sur firefox merci !!

mais il marche pas de tout dans IE il m'amene directement dans le site html même si que je suis sur pc !!

pour le iphone et ipad ça marche bien aussi

pouvez vous me dire pk ça marche pas sur ie

merci bcp

#17 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2532 messages

Posté 23 May 2012 - 11:12 AM

En effet, ça ne passe sous IE ... (pourquoi je ne suis pas plus étonné que ça ?)

Bon, IE ne retourne pas de tableau de plugins, il faut utiliser autre chose pour lui ...

Voici un script modifié qui devrait répondre au besoin :

On commence par regarder si on est sous IE, si c'est le cas, on tente d'instancier un objet activeX 'flash'
En fonction de la réussite ou de l'échec, on peut déduire la présence ou non de flash

Pour les autres navigateurs, on garde le même test.


<script type="text/javascript">
  if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) //si IE
  {
   var activeX = null ;
   try{
        activeX = new ActiveXObject('ShockwaveFlash.ShockwaveFlash') ;
   }catch(e){
        //alert('echec activeX')
   }
   if( activeX == null ){
        document.write('pas de flash >>> version HTML') ;
   }else{
        document.write("ouf, y'a flash") ;
   }
  }
  else //autre navigateur
  {
   if( navigator.plugins["Shockwave Flash"] ){
        document.write("ouf, y'a flash") ;
   }else{
        //document.location.href="index_sans_flash.html" ;
        document.write("pas de flash >>> version HTML") ;
   }
  }

</script>
 

"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#18 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 23 May 2012 - 12:50 PM

Salut Switcher !
J'ai testé ton nouveau script sous IE, ça n'a pas l'air de marcher ....?
L'as tu testé ? ai-je fait des erreurs !?

#19 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 23 May 2012 - 12:55 PM

J'ai remplacé tes phrases en rouge entre les guillemets par mes Urls adéquates, et ça ne fonctionne pas.
Il m'affiche l'url sur la page.
Je dois modifier autre chose ?

#20 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 23 May 2012 - 13:18 PM

J'ai bidouillé et j'ai cherché !
Voilà le script que j'utilise et qui fonctionne partout, en tout cas pour moi.

<SCRIPT LANGUAGE="VBScript">
// Detection pour Internet Explorer
On error resume next
isFlash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))
</SCRIPT>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
if(isFlash){
document.write("http://indexavecflash.html  ");
}else{
document.write("indexsansflash.html");
}
</SCRIPT>
//autres navigateurs
<script type="text/javascript">
  if( navigator.plugins["Shockwave Flash"] ){
   document.location.href="http://indexflash.html" ;
  }else{
   document.location.href="http://indexsansflash.html" ;
  }
</script>
 


#21 dcz.switcher

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 2532 messages

Posté 23 May 2012 - 15:11 PM

Voir le messagekumbuch, le 23 May 2012 - 12:50 PM, dit :

J'ai testé ton nouveau script sous IE, ça n'a pas l'air de marcher ....?
L'as tu testé ? ai-je fait des erreurs !?

Je vois que tu as finalement trouvé une solution, juste pour ma culture personnelle, tu as testé mon script dans quel environnement ?
J'avoue m'être contenté d'IE8 sous windows XP


"Ce que l'on conçoit bien s'énonce clairement et les mots pour le dire arrivent aisément"

embryon de site

#22 kumbuch

    Ceinture Jaune

  • Members
  • PipPip
  • 19 messages

Posté 23 May 2012 - 15:46 PM

J'ai réessayé et ça fonctionne.
J'étais sous safari, avec un user agent en tant que IE 7 ( au plus bas pour les versions d'antant!)
J'avais fait des erreurs dans mes URLs, car je travaille sur un site bilingue avec une schéma comme cela :
1- Détection de flash ou Pas ( sur tous les navigateurs)
2- Si flash redirection vers un index de détection de la langue puis en fonction de la réponse --> Intro flash en FR ou Intro flash en EN.
3- Si non flash, redirection vers un même index de détection de la langue, puis en fonction de la réponse --> Intro HTML5 en FR ou Intro HTML5 en EN.
En fait, je me sers juste de la détection de non flash pour les Ipads et aiefons, pour avoir le même rendu avec l'intro.
Ton script fonctionne bien aussi maintenant. Je débute un peu en me dépatouillant à droite à gauche, penses-tu qu'il faille que je revienne à ton script pour la détection de flash ou non ?
Celui fonctionne bien sur tous les navigateurs, meme IE7...

Au début, je voulais détecter le comptabilité HTML5, pour rediriger vers le flash si le navigateur ne le supportait pas, mais j'ai finalement opté pour l'inverse car meme firefox avait du mal avec mon anim en HTML5...
De plus, détecter du HTML5 faisait appel à des scripts externes comme ceux de sshiv ou de modernizr et cela était assez complexe à gérer pour une simple intro.
Cette solution inverse : Flash ou pas ? / Langue / Intro me convient bien et les ipads réagissent très rapidement à la requete !
C'est un site lié en QR code, alors la comptabilité de mon intro dynamique avec ces appareils étaient ma priorité.
Mais le fait que cela fonctionne avec tous les navigateurs, ça me va.

Les plus pointilleux diront : Oui mais, un IE7 qui n'a pas flash arrive sur l'intro HTML5 et ne peut pas la lire!
Je sais ! Et je suis preneur pour une autre solution !
C'est ce que j'ai trouvé de mieux pour l'instant, si tu as mieux pour moi switcher ?

#23 Krevare

    Ceinture Noire

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 923 messages

Posté 30 May 2012 - 12:40 PM

Tu fais l'intro en gif animé ^^

:jesors:

#24 samlok1982

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 13 May 2013 - 08:45 AM

Bonjour
J'ai appliqué vos divers conseils sur ma création de site en Flash mais malheureusement ça ne marche pas chez moi.
J'ai un index.html qui lance mon site en swf, et j'ai créer un index2.html pour les utilisateurs visitant le site avec un terminal sans flash player.
Sur mon iphone j'attérit bien sur index2.html mais depuis les navigateurs de mon mac, rien ne se charge, quelqu'un peut me renseigner?
Voici le code html de la page index.html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
        <head>
                <title>Monsite</title>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <link rel="shortcut icon" href="favicon.ico" >
                   <link rel="icon" type="image/gif" href="animated_favicon1.gif" >
                 
<script type="text/javascript">
  if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) //si IE
  {
   var activeX = null ;
   try{
                activeX = new ActiveXObject('ShockwaveFlash.ShockwaveFlash') ;
   }catch(e){
                //alert('echec activeX')
   }
   if( activeX == null ){
                document.location.href="http://www.monsite.fr/index2.html";
   }else{
                document.location.href="http://www.monsite.fr/index.html" ;
   }
  }
  else //autre navigateur
  {
   if( navigator.plugins["Shockwave Flash"] ){
                document.location.href="http://www.monsite.fr/index.html";
   }else{
                //document.location.href="index_sans_flash.html" ;
                document.location.href="http://www.monsite.fr/index2.html" ;
   }
  }

</script>

               
                <style type="text/css" media="screen">
                html, body { height:100%; background-color: #ffffff;}
                body { margin:0; padding:0; overflow:hidden; }
                #flashContent { width:100%; height:100%; }
                </style>
               
        </head>

Modifié par Krevare, 14 May 2013 - 09:45 AM.
Ajout des balises de code


#25 Krevare

    Ceinture Noire

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 923 messages

Posté 14 May 2013 - 09:58 AM

Hello :)

Sauf erreur de ma part c'est normal que rien ne se charge puisque ta page html ne comprends rien d'autre qu'un script qui renvoie sur Index2 SI tu n'as pas flash.

Il faut que lorsque tu as flash tu renvoie sur une page qui contient l'anim swf, ou alors que tu embed le swf dans la partie conditionnelle correspondante :)

Perso j'ai testé sur mon tel ça fonctionne, la seule différence c'est que j'ai mis 3 pages html :
Index - check si flash ou pas, si oui renvoie sur index1, si non renvoie sur index2
Index1 -> page html qui indique "flash"
Index2 -> page html qui indique "no flash"

Tu peux tester sur la page suivante :
advoc8.fr/noflash/index.html

Bon c'est une grosse tartine pour pas grand chose, j'espère que je me suis fais comprendre tout de même ;)

Bonne journée,

Fred.

#26 samlok1982

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 14 May 2013 - 16:48 PM

Thank you, comme tu dis, grosse tratine... Mais à force de s'auto-relire on ne voit plus ses erreurs...
Merci pour ton aide!
Sinon pour info pour les prochains, la solution en gros c'est un index qui contient le script de renvois vers index1 (si flashplayer) ou vers index2 (si pas de flashplayer)

et le voici :

<SCRIPT LANGUAGE=JavaScript1.1>
<!--
var MM_contentVersion = 6;
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if ( plugin ) {
var words = navigator.plugins["Shockwave Flash"].description.split(" ");
for (var i = 0; i < words.length; ++i)
{
if ( isNaN(parseInt(words[i]) ) )
continue;
var MM_PluginVersion = words[i];
}
var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
}
else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0
&& (navigator.appVersion.indexOf("Win") != -1)) {
document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n'); //FS hide this from IE4.5 Mac by splitting the tag
document.write('on error resume next \n');
document.write('MM_FlashCanPlay = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & MM_contentVersion)))\n');
document.write('</SCR' + 'IPT\> \n');
}

if ( MM_FlashCanPlay ) {
window.location.replace("http://urlavecflash.html");
} else{
window.location.replace("http://urlsansflash.html");
}
//-->

</SCRIPT>




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