Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
860 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Question bizarre avec document.write...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question bizarre avec document.write...

n°490349
Hermes le ​Messager
Breton Quiétiste
Posté le 18-08-2003 à 15:59:36  profilanswer
 

Je suis en train de me poser certaines questions concernant la possibilite de mettre du flash dans une page.
Je veux en restant dans la meme page (sans redirection pourrie donc) faire apparaitre une animation a partir d'un document.write.
 
Pourquoi ?
 
C'est simple : Pour tester si flash est bien installe, je dois utiliser du JS. Et si le JS est absent, il est evident que je ne peux plus tester la presence de flash, et je souhaite donc dans ce cas faire apparaitre autre chose en lieu et place de l'anime.
 
Seulement voila :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4.  <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
  5.  <title>test</title>
  6.  <script type="text/javascript"><!--
  7. <!--Début
  8. document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\"88\" height=\"32\"><param name=movie value=\"http://ipfixe.com/fr/support/boutonfr_2.swf\"><param name=quality value=high><embed src=\"http://ipfixe.com/fr/support/boutonfr_2.swf\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"88\" height=\"32\"></embed></object>" );
  9. //Fin -->
  10. // -->
  11. </script>
  12. <NOSCRIPT>
  13. ATTENTION ! votre navigateur ne supporte pas JavaScript ....
  14. </NOSCRIPT>
  15. </head>
  16. <body>
  17. </body>
  18. </html>


 
ne fonctionne pas... pourquoi ??
 
Pourtant :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4.  <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
  5.  <title>test</title>
  6. </head>
  7. <body>
  8. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="88" height="32"><param name=movie value="http://ipfixe.com/fr/support/boutonfr_2.swf"><param name=quality value=high><embed src="http://ipfixe.com/fr/support/boutonfr_2.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="88" height="32"></embed></object>
  9. </body>
  10. </html>


 
fonctionne parfaitement...  :??:  
 
Kekicepasse ?  :heink:  
 
PS : ne faites pas attention a l'anime, j'ai pris la premiere venue dans google  [:totozzz]

mood
Publicité
Posté le 18-08-2003 à 15:59:36  profilanswer
 

n°490361
simogeo
j'ai jamais tué de chats, ...
Posté le 18-08-2003 à 16:11:09  profilanswer
 

parce que ca n'a pas de sens d'ecrire une anim flash dans un header ....
 
fait un autre test ...
tu fais ta fonction dans le header et tu lui fais appel depuis le body pour savoir si oui ou non tu dois afficher l'anim... ca marche  :D  
 
si ca merde tu me le dis .. j'avais ca pour un site... je le recherche  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°490371
Hermes le ​Messager
Breton Quiétiste
Posté le 18-08-2003 à 16:15:03  profilanswer
 

simogeo a écrit :

parce que ca n'a pas de sens d'ecrire une anim flash dans un header ....
 
fait un autre test ...
tu fais ta fonction dans le header et tu lui fais appel depuis le body pour savoir si oui ou non tu dois afficher l'anim... ca marche  :D  
 
si ca merde tu me le dis .. j'avais ca pour un site... je le recherche  ;)  


 
Exact, j'aurais du y penser  :jap:  :jap:  
 
ca marche. Il est donc possible d'inserer des animes flash uniquement chez ceux qui ont JS et flash installe sans passer par une redirection de merde. Bon a savoir...
 
Oula, faut que j'arrete de me poser des questions moi... [:totozzz]  
 
edit : Et merci bcp au fait ;)


Message édité par Hermes le Messager le 18-08-2003 à 16:17:03
n°490564
MagicBuzz
Posté le 18-08-2003 à 19:15:04  profilanswer
 

En fait, c'est pas le fait que tu écrives le flash dans le header qui pose problème, mais ton script :)
 
En fait, on va reprendre doucement le système du JavaScript.
 
Le javascript dans une page HTML est réparti en 3 endroits :
 
- Dans le HEAD dans une balise <script>
- Dans le BODY dans une balise <script>
- Dans la déclaration d'un attribut "eventHandler" d'une balise (onclick par exemple)
 
Pour les deux premiers cas, on peut avoir un include à la place du script. Ceci ne change rigoureusement au fonctionnement décrit ci-après.
 
Lorsque la page se charge, les scripts sont éxécutés dans l'ordre :
- Les balises <script> qui sont dans le body
- Les évènements "onload" décrits dans les attributs de <body> ou de <img> par exemple, au fur et à mesure que ces derniers se chargent.
- Au fur et à mesure que l'utilisateur déclenche des évènements.
 
On notera que je n'ai pas parlé des scripts qui sont dans la balide head, puisqu'il ne sont jamais éxécutés automatiquement.
 
En fait, le JS est réparti dans la page comme dans un programme proprement écrit (pas en C donc, mais par exemple en Pascal ou en Ada). Le body correspond au main du programme. C'est ce qui s'éxécute au démarrage de la page. Même plus éxactement, ça s'éxécute au fur et à mesure que la page se charge. Ne jamais faire appel dans un script éxécuté de cette façon à des élements qui sont plus bas que le script dans le flux HTML, ils ne seront pas encore chargés au moment où le script va s'éxécuter !
Le head quand à lui correspond à la section header dans un langage structuré. Bon, dans ce cas c'est pas vraiment vrai, c'est plutôt une sorte d'include qui n'est accessible que par appel à des fonctions (le code ne sera pas éxécuté). Quand aux eventHandler définis dans les tag, ça correspond tout bêtement à des events handlers définis dans des objets avec n'importe quel langage.
 
Tout ça pour dire que si ton truc marche pas, c'est parceque tu fais un document.write dans le head, et qu'il ne sera pas éxécuté. Si tu le met dans une fonction, et que <body onload="function()"> à ce moment il s'éxécutera, ou si simplement tu met ton bloc de script dans le body :)

n°490567
MagicBuzz
Posté le 18-08-2003 à 19:17:50  profilanswer
 

Hermes le Messager a écrit :


 
Exact, j'aurais du y penser  :jap:  :jap:  
 
ca marche. Il est donc possible d'inserer des animes flash uniquement chez ceux qui ont JS et flash installe sans passer par une redirection de merde. Bon a savoir...
 
Oula, faut que j'arrete de me poser des questions moi... [:totozzz]  
 
edit : Et merci bcp au fait ;)
 


 
Sinon, une autre solution à ton problème :)
 
Tu fais une page "Test de votre navigateur en cours..."
 
Dedans, un meta refresh d'une seconde vers la page avec le flash.
Et un script qui fait immédiatement un redirect sur cette même page, en ajoutant en querystring le résultat de la détection du flash.
 
A ce moment, si l'utilisateur n'a pas de JS, tu le sais, et tu peux choisir ce que tu veux faire et s'il a JS, tu sais s'il a flash ou non.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Question bizarre avec document.write...

 

Sujets relatifs
Objet pour document WordPetite question de débutant (priorités opératoires..)
[MYSQL] petite question sur la syntaxe des types de variables[VBA] Question à la con : Date du jour
Application Java et Single Document Interface : besoin d'aide[Newbie] Question sur ShowOpen
[PHP] Petite question sur le "If"question sur les css
[Access/SQL] Quick Question sur les indexesQuestion sur les applets
Plus de sujets relatifs à : Question bizarre avec document.write...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR