[OPERA] mon site ne marche pas du tout avec opera (pb de JavaScript)

mon site ne marche pas du tout avec opera (pb de JavaScript) [OPERA] - Programmation

Marsh Posté le 21-03-2002 à 12:03:11    

bonjour a tous,
 
    je v bientot mettre en ligne un site, et afin de permettre plus de compatibilité, je le teste sous different navigateur.
Pas de pb avec Ie (normal), qq pb avec NS (normal), mais là je voulais essayer opera et là c la misere : il n'ouvre meme pas la premiere page !!!
 
voila l'erreur :
"/logo.htm : le type d'adresse est inconu ou non supporté"
 
et il me t fait ça pour chacune des frames. Bon il faut savoir que ma page index est speciale : elle creer les frames uniquement si le browser supporte javascript.
voici son code :

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <TITLE>European Institute of Cognitive Sciences and Engineering</TITLE>
  5. <!-- Caché pour les vieux navigateurs ...
  6. //permet de sortir des frames si le visiteur vient d'un autre site
  7. if (top.location != self.document.location)
  8. top.location=self.document.location;
  9. // determine si le navigateur utilisé est netscape 4.x ou inferieur
  10. function oldNetscape()
  11. {
  12.     verStr=navigator.appVersion;
  13.     version = parseFloat(verStr);
  14.     if (navigator.appName == 'Netscape')
  15. {
  16.     if (version <= 4.7)
  17.   return true;
  18.  else
  19.      return false;
  20. }
  21.     else
  22.         return false;
  23. }
  24. //positionne les frames
  25. function frame()
  26. {
  27. document.writeln('<html>');
  28. document.writeln('<head>');
  29. document.writeln('<title>European Institute of Cognitive Sciences and Engineering</title>');
  30. document.writeln('</head>');
  31. document.writeln('<frameset cols="153,*" framespacing=0 border=0 frameborder="no">');
  32. document.writeln('  <frameset rows="90,*">');
  33. document.writeln('    <frame name="logo" src="logo.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  34. document.writeln('    <frameset rows="110,*">');
  35. document.writeln('      <frame name="naviSmall" src="naviSmall.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  36. document.writeln('      <frameset rows="*,41">');
  37. document.writeln('        <frame name="menuGauche" src="menu.htm" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  38. document.writeln('        <frame name="copyright" src="copyright.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  39. document.writeln('      </frameset>');
  40. document.writeln('    </frameset>');
  41. document.writeln('  </frameset>');
  42. document.writeln('  <frameset rows="65,*">');
  43. document.writeln('    <frame name="upFrame" src="upframe.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  44. document.writeln('    <frameset rows="*,20">');
  45. document.writeln('      <frame name="content" src="accueil.htm" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  46. document.writeln('      <frame name="downFrame" src="downframe.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  47. document.writeln('    </frameset>');
  48. document.writeln('  </frameset>');
  49. document.writeln('<noframes>');
  50. document.writeln('<body>');
  51. document.writeln('<font face="Arial" size=5>We are sorry but your browser does not support frame.<br>');
  52. document.writeln('Please update your favorite browser and come after ;<br>');
  53. document.writeln('<ul type="disc">');
  54. document.writeln('  <li><a href="http://www.microsoft.com">Internet Explorer</a>');
  55. document.writeln('  <li><a href="http://www.netscape.com">Netscape</a>');
  56. document.writeln('</ul>');
  57. document.writeln('</font>');
  58. document.writeln('</body>');
  59. document.writeln('</noframes>');
  60. document.writeln('</frameset>');
  61. document.writeln('</html>');
  62. }
  63. //-->
  64. </script>
  65. </head>
  66. <body onLoad="javascript:frame();">
  67. <font size=3>
  68.     <b>Please wait during loading ....<br> If this page stay here, it's probabily because your
  69.     browser can not diplay it.<br>We advise you to download and install the last version of Internet
  70. Explorer or Netscape.<br> Thank you for your comprehension.
  71. <ul type="disc">
  72.     <li><a href="http://www.microsoft.com">Internet Explorer</a>
  73.     <li><a href="http://www.netscape.com">Netscape</a>
  74.     </ul>
  75. </b>
  76. </font>
  77. </body>
  78. </html>


voila, comme vous pouvez le voir, c un javascript qui ecrit la page.
 
C ça qui pose probleme a opera ?
 
merci  :jap:

 

[jfdsdjhfuetppo]--Message édité par petoulachi--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-03-2002 à 12:03:11   

Reply

Marsh Posté le 21-03-2002 à 12:08:53    

le probleme c Opera, c pas compatbile HTML 4.01 :D
prend plutot Mozilla si tu veux faire HaCkErZ anti M$


---------------
Narf... It is broken...
Reply

Marsh Posté le 21-03-2002 à 12:10:29    

DLR a écrit a écrit :

le probleme c Opera, c pas compatbile HTML 4.01 :D
prend plutot Mozilla si tu veux faire HaCkErZ anti M$  




heu non tu comprends pas, moi je m'en fout a la limite d'opera, mais je veux que mon sitre soit visible sous opera.
 
Donc quelles sont les modifs a faire ?
 
merci

Reply

Marsh Posté le 21-03-2002 à 12:11:09    

ben déja, si tu commencais pas écire un code correct, cad un code dans lequel le javascript est mis entre balise javasript...

Reply

Marsh Posté le 21-03-2002 à 12:11:55    

DLR a écrit a écrit :

le probleme c Opera, c pas compatbile HTML 4.01 :D
prend plutot Mozilla si tu veux faire HaCkErZ anti M$  




 
TOTALEMENT FAUX! opéra est le browser qui respect le plus cette norme!

Reply

Marsh Posté le 21-03-2002 à 12:15:10    

gizmo a écrit a écrit :

ben déja, si tu commencais pas écire un code correct, cad un code dans lequel le javascript est mis entre balise javasript...  




ouais non pas de pb, elle  y est la balise en haut, c juste que je l'ai viré car j'ai viré les balises meta qui servaient a rien pour ce pb, et du coup j'ai viré aussi la ligne <script> :)

Reply

Marsh Posté le 21-03-2002 à 12:15:33    

ok, je regarde la suite alors :D

Reply

Marsh Posté le 21-03-2002 à 12:20:11    

gizmo a écrit a écrit :

ok, je regarde la suite alors :D  




 :jap:

Reply

Marsh Posté le 21-03-2002 à 12:22:51    

tu as une erreur d'imbrication dans tes balises frameset et noframe, la frameset doit être fermée avant d'ouvrir la noframe
 
c'est la seule erreur que je vois, le reste est correct et fonction sous opéra

Reply

Marsh Posté le 21-03-2002 à 12:24:03    

petoulachi a écrit a écrit :

 
heu non tu comprends pas, moi je m'en fout a la limite d'opera, mais je veux que mon sitre soit visible sous opera.
 
Donc quelles sont les modifs a faire ?
 
merci  




 
rajoute DOCTYPE en en-tete du fichier pour la version HTML


---------------
Narf... It is broken...
Reply

Marsh Posté le 21-03-2002 à 12:24:03   

Reply

Marsh Posté le 21-03-2002 à 12:24:21    

gizmo a écrit a écrit :

 
 
TOTALEMENT FAUX! opéra est le browser qui respect le plus cette norme!  




 
naaaaan jle crois pas...


---------------
Narf... It is broken...
Reply

Marsh Posté le 21-03-2002 à 12:28:05    

C'est pourtant vrai, et c'est la même chose pour le CSS.

Reply

Marsh Posté le 21-03-2002 à 12:28:24    

gizmo a écrit a écrit :

tu as une erreur d'imbrication dans tes balises frameset et noframe, la frameset doit être fermée avant d'ouvrir la noframe
 
c'est la seule erreur que je vois, le reste est correct et fonction sous opéra  




bon j'ai changé ça merci. Mais ça ne change rien. Il passe le nom de chacune de mes frames, precedés de "/" en me disant la meme erreur (le type d'adresse est inconu ou non supporté). Il ne supporte pas les adresses relatives ou quoi ?

Reply

Marsh Posté le 21-03-2002 à 12:45:25    

ben essaye avec les chemins complets tu verras ...

Reply

Marsh Posté le 21-03-2002 à 12:46:30    

petoulachi a écrit a écrit :

 
bon j'ai changé ça merci. Mais ça ne change rien. Il passe le nom de chacune de mes frames, precedés de "/" en me disant la meme erreur (le type d'adresse est inconu ou non supporté). Il ne supporte pas les adresses relatives ou quoi ?  




 
essai de faire "./logo.htm" ou alors simplement "logo.htm"


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
Reply

Marsh Posté le 21-03-2002 à 12:54:04    

ok, je pense que j'ai compris l'erreur, je vérifie...

Reply

Marsh Posté le 21-03-2002 à 12:57:07    

gizmo a écrit a écrit :

ok, je pense que j'ai compris l'erreur, je vérifie...  




 
qd ta trouvé dis nous ce ke ct... culture pour moi :)


---------------
"Je brandirai une épée d'orichalque, je m'assouvirai sur des Templiers." | "Avec dans son sillage l'Ombre du Diable, Leirn appelait les morts pour une danse macabre et déchainaît les horreurs de la nuit..."
Reply

Marsh Posté le 21-03-2002 à 13:00:14    

TROUVE! (chuis une bête :D) L'erreur, une fois de plus, ne vient pas d'opéra, mais bien de ta facon d'écrire le code.
 
Explication: le STANDARD HTML oblige à choisir entre body et frameset dans une même page. Or toi, tu mets les 2, donc il est normal qu'Opéra s'y perde.
 
Voici donc le code correct, épuré (parce qu'en plus, c'était le bordel :D), et qui marche:
 

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <TITLE>European Institute of Cognitive Sciences and Engineering</TITLE>
  5. </head>
  6. <script language="javascript">
  7. <!-- Caché pour les vieux navigateurs ...
  8. //permet de sortir des frames si le visiteur vient d'un autre site
  9. if (top.location != self.document.location)
  10. top.location=self.document.location;
  11. // determine si le navigateur utilisé est netscape 4.x ou inferieur
  12. function oldNetscape()
  13. {
  14.   verStr=navigator.appVersion;
  15.   version = parseFloat(verStr);
  16.   if (navigator.appName == 'Netscape')
  17. {
  18.   if (version <= 4.7)
  19. return true;
  20. else
  21.    return false;
  22. }
  23.   else
  24.     return false;
  25. }
  26. document.writeln('<html>');
  27. document.writeln('<head>');
  28. document.writeln('<title>European Institute of Cognitive Sciences and Engineering</title>');
  29. document.writeln('</head>');
  30. document.writeln('<frameset cols="153,*" framespacing=0 border=0 frameborder="no">');
  31. document.writeln('  <frameset rows="90,110,*,41">');
  32. document.writeln('   <frame name=logo src=logo.htm scrolling=no marginwidth=0 marginheight=0 NORESIZE frameborder=no>');
  33. document.writeln('   <frame name="naviSmall" src="naviSmall.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  34. document.writeln('   <frame name="menuGauche" src="menu.htm" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  35. document.writeln('   <frame name="copyright" src="copyright.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  36. document.writeln('  </frameset>');
  37. document.writeln('  <frameset rows="65,*,20">');
  38. document.writeln('   <frame name="upFrame" src="upframe.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  39. document.writeln('   <frame name="content" src="accueil.htm" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  40. document.writeln('   <frame name="downFrame" src="downframe.htm" scrolling="no" marginwidth=0 marginheight=0 NORESIZE frameborder="no">');
  41. document.writeln('  </frameset>');
  42. document.writeln('</frameset>');
  43. document.writeln('<noframes>');
  44. document.writeln('<body>');
  45. document.writeln('<font face="Arial" size=5>We are sorry but your browser does not support frame.<br>');
  46. document.writeln('Please update your favorite browser and come after ;<br>');
  47. document.writeln('<ul type="disc">');
  48. document.writeln('  <li><a href="http://www.microsoft.com">Internet Explorer</a>');
  49. document.writeln('  <li><a href="http://www.netscape.com">Netscape</a>');
  50. document.writeln('</ul>');
  51. document.writeln('</font>');
  52. document.writeln('</body>');
  53. document.writeln('</noframes>');
  54. document.writeln('</html>');
  55. //-->
  56. </script>
  57. <noscript>
  58. <body>
  59. <font size=3>
  60.   <b>Please wait during loading ....<br> If this page stay here, it's probabily because your
  61.   browser can not diplay it.<br>We advise you to download and install the last version of Internet
  62. Explorer or Netscape.<br> Thank you for your comprehension.
  63. <ul type="disc">
  64.   <li><a href="http://www.microsoft.com">Internet Explorer</a>
  65.   <li><a href="http://www.netscape.com">Netscape</a>
  66.   </ul>
  67. </b>
  68. </font>
  69. </body>
  70. </noscript>
  71. </html>

Reply

Marsh Posté le 21-03-2002 à 13:22:04    

yes d'la balle ça marche !!
 
Mais je vois pas trop ce que t'as fait ?  :heink:  
 
mais merci  bpc  :jap:

Reply

Marsh Posté le 21-03-2002 à 13:26:22    

c'est simple, j'ai mis le body dans <noscript> comme ca il n'est lu que si le browser ne supporte pas le js et j'ai viré l'appel de la fonction.

Reply

Marsh Posté le 21-03-2002 à 13:33:19    

ouais ok ok.
 
Bon maintenant c tout mes script qui deconnent ...
 
Commenbt se comporte opera avec des javascript ? car les miens ont tous la forme :
if (dom)  
 
else if (ns4)
 
else if (ie)
 
 
et là bin je sais aps trop dans quel cas il rentre et surtout si il se comporte plutot comme IE ou comme NS, ou si il a son comportement bien a lui ...
j'ai essayer de mettre des alert("!" ) dans chacun des cas : il n'y a jamais d'alert, mais il faut qd meme des trucs contenus dans ces if  :??:  
 
Z'auriez pas une url pour la compatibilité opera ?

 

[jfdsdjhfuetppo]--Message édité par petoulachi--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-03-2002 à 13:46:33    

petoulachi a écrit a écrit :

ouais ok ok.
 
Bon maintenant c tout mes script qui deconnent ...
 
Commenbt se comporte opera avec des javascript ? car les miens ont tous la forme :
if (dom)  
 
else if (ns4)
 
else if (ie)
 
 
et là bin je sais aps trop dans quel cas il rentre et surtout si il se comporte plutot comme IE ou comme NS, ou si il a son comportement bien a lui ...
j'ai essayer de mettre des alert("!" ) dans chacun des cas : il n'y a jamais d'alert, mais il faut qd meme des trucs contenus dans ces if  :??:  
 
Z'auriez pas une url pour la compatibilité opera ?  
 
 




 
ha merde, en fait alert lui il s'en fout, ça marche jamais ....
arggg et cmment que je fais moa ?

Reply

Marsh Posté le 21-03-2002 à 14:07:43    

alert() fonctionne sous opéra, je l'ai déja testé, ca doit être ta syntaxe qui n'est pas bonne. Sinon Opéra se comporte exactemtn comme le STANDARD javascript 1.3, excepté pour la modification on-the-fly du contenu d'une page, fonction qui n'est pas encore intégrée.
 
Les if(IE) et autres fioritures ne servent a rien car il peut se faire passer soit pour IE, soit pour mozilla (donc ns) soit pour opéra au gré de l'utilisateur.

Reply

Marsh Posté le 21-03-2002 à 14:10:58    

gizmo a écrit a écrit :

alert() fonctionne sous opéra, je l'ai déja testé, ca doit être ta syntaxe qui n'est pas bonne. Sinon Opéra se comporte exactemtn comme le STANDARD javascript 1.3, excepté pour la modification on-the-fly du contenu d'une page, fonction qui n'est pas encore intégrée.
 
Les if(IE) et autres fioritures ne servent a rien car il peut se faire passer soit pour IE, soit pour mozilla (donc ns) soit pour opéra au gré de l'utilisateur.  




arg, je c pas trop comment je v me debrouiller alors.
 
Mais pour le alert, bin en faisant un bete window.alert("!" ); lui ne fait rien

Reply

Marsh Posté le 21-03-2002 à 14:32:56    

et puis si je peux pas distinguer de if (IE) and co, je peux pas faire marcher le site !!! ex, pour acceder a un id on fait
document.getElementById(id).  (pour IE5+ et NS6)
document.all[id]. (pour IE4)
et  
with (eval('document.'+id)) (pour NS4)
 
Alors je sis un peu dans la merde si jep eux pas faire ça  :sweat:

Reply

Marsh Posté le 21-03-2002 à 14:49:07    

pk t'as besoin d'un id?

Reply

Marsh Posté le 21-03-2002 à 14:51:17    

en fait, je manipule des div ; j'ai besoin d'acceder a ces div pour modifier la couleur par ex.

Reply

Marsh Posté le 21-03-2002 à 14:55:08    

ah! dans ce cas, essaye de le mettre au niveau de IE. Mais je suis pas sur que les changement de couleurs soient standards.

Reply

Marsh Posté le 21-03-2002 à 15:01:56    

gizmo a écrit a écrit :

ah! dans ce cas, essaye de le mettre au niveau de IE. Mais je suis pas sur que les changement de couleurs soient standards.  




he non bien sur....
ptin meme pour la date ça chie : il rentre dans la condition if (document.all), et meme dans la navigator.appname = "IE" (meme si c pas IE mais Microsoft ...) MAIS ne se comporte pas comme IE pour l'année.
De meme pour les styles ...
 
I am dans le caca ...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed