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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Un script qui ne fonctionne pas...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Un script qui ne fonctionne pas...

n°1074473
GenZo-w
Posté le 07-05-2005 à 00:22:30  profilanswer
 

Hola !
 
Alors j'ai un site fait en HTML avec un peu de JavaScript pour n'importe quel browser. Justement, je voudrais que ça soit visible pour les users de Lynx (me demandez pas trop pourquoi...). Le truc c'est qu'il y a du JavaScript... donc une fonction qui permet de faire du scrolling de texte (mais ça on s'en moque...). Pour voir si je suis sur un browser supportant le JavaScript, j'ai fait une fonction qui check si le browser est connu ou non et si il est connu, je lance le script sinon j'affiche un texte.
 
Voici le code :  
 
var detect = navigator.userAgent.toLowerCase();
var browser,total,thestring;
var version = 0;
 
------------------------------------------------ Listing des browsers
if (checkIt('konqueror')) browser = "Konqueror"
else if (checkIt('msie')) browser = "Internet Explorer"
else if (checkIt('safari')) browser = "Safari"
else if (checkIt('omniweb')) browser = "OmniWeb"
else if (checkIt('opera')) browser = "Opera"
else if (checkIt('webtv')) browser = "WebTV"
else if (checkIt('icab')) browser = "iCab"
else if (checkIt('mozilla'))
{
 browser = "Mozilla"
 version = detect.charAt(place + thestring.length);
}  
else if (!checkIt('compatible'))
{
 browser = "Netscape Navigator"
 version = detect.charAt(8);
}
else browser = "Browser Inconnu";
if (!version) version = detect.charAt(place + thestring.length);
---------------------------------------------------------------------- fonction de check
function checkIt(string)
{
 place = detect.indexOf(string) + 1;
 thestring = string;
 return place;
}
 
------------------------------------------------------------------------
 
Ensuite à un endroit de ma page j'ai ça :
 
 
<div align="left">
<div id="Layer1">
 
 <script type="text/javascript">
 if not (browser = "Browser Inconnu" )
{  
 var iframesrc="page.php" // Page à charger
  document.write('<iframe id="datamain" src="'+iframesrc+'" width="450px" height="250px" marginwidth="0" marginheight="0" hspace="0" vspace="5" frameborder="0" scrolling="no"></iframe>') // Attributs du script (taille de la "box", vitesse,...)
}
else
// METTRE DU TEXTE SIMPLE  
</script>
 
----------------------------------------------------------------------
 
 
Manque de pot, quand je vire [ else if (checkIt('msie')) browser = "Internet Explorer" ], sous IE le scroll ne s'affiche pas (même quand je vire toutes les alternatives de listing en fait...). En théorie, si vous avez compris le code : détection du browser, si c'est pas inconnu alors j'affiche le scroll, sinon j'affiche rien... Mais ça marche pas vu que rien ne s'affiche dans tous les cas... et si j'enleve le "not" à l'alternative, ça s'affiche dans tous les cas.
 
Quelqu'un saurait pourquoi ? :(

mood
Publicité
Posté le 07-05-2005 à 00:22:30  profilanswer
 

n°1074476
GenZo-w
Posté le 07-05-2005 à 00:27:41  profilanswer
 

Si quelqu'un a une autre idée pour tester la compatibilité d'un browser au JavaScript... ça serait la bienvenue !

n°1074477
KangOl
Profil : pointeur
Posté le 07-05-2005 à 00:29:39  profilanswer
 

mais c'est quoi ce code imonde :cry:
 
au lieu d'utiliser un include php dans un div en overflow:auto...
 
ps: balise [code] :fou:


---------------
Nos estans firs di nosse pitite patreye...
n°1074479
GenZo-w
Posté le 07-05-2005 à 00:31:45  profilanswer
 

Ouaiiiiiiiiiis bon... ça répond pas au problème ça !! (mais c'est vrai que niveau conformité CSS...)

n°1074481
KangOl
Profil : pointeur
Posté le 07-05-2005 à 00:33:28  profilanswer
 

et aussi niveau accessibilité :/


---------------
Nos estans firs di nosse pitite patreye...
n°1074482
GenZo-w
Posté le 07-05-2005 à 00:35:03  profilanswer
 

Ha j'ai pas précisé... pourquoi c'est aussi immonde ? Parce que le scroll doit tenir dans un cadre fait en ASCII et délimité par ce caractère : |
 
Voilà pourquoi je me suis un peu pris la tête :)

n°1074484
KangOl
Profil : pointeur
Posté le 07-05-2005 à 00:36:44  profilanswer
 

mmh ? :??:
tu as une url ??


---------------
Nos estans firs di nosse pitite patreye...
n°1074485
GenZo-w
Posté le 07-05-2005 à 00:38:48  profilanswer
 

http://e2bear.free.fr/LYNX/NEWS.htm
 
C'est qu'une version temporaire... là le code source n'est même pas mis à jour... mais dans la derniere version que j'ai faite, il n'y a pas de problème d'alignement (en gros avec le code que j'ai posté)

n°1074486
KangOl
Profil : pointeur
Posté le 07-05-2005 à 00:45:08  profilanswer
 

ca donne rien sous firefox...


Message édité par KangOl le 07-05-2005 à 00:45:26

---------------
Nos estans firs di nosse pitite patreye...
n°1074487
GenZo-w
Posté le 07-05-2005 à 00:46:26  profilanswer
 

Comment ça ?

mood
Publicité
Posté le 07-05-2005 à 00:46:26  profilanswer
 

n°1074488
KangOl
Profil : pointeur
Posté le 07-05-2005 à 00:48:39  profilanswer
 

on voix pas ta "bordure" ascii
 
 
et c'est vachement lourd le scrolling du text :/


---------------
Nos estans firs di nosse pitite patreye...
n°1074489
GenZo-w
Posté le 07-05-2005 à 00:51:44  profilanswer
 

C'est tout à gauche... tu vois vraiment pas le cadre où y a le scrolling... sinon je sais que c'est lourd mais c'est pas moi qui ai décidé de faire ça :(

n°1074490
KangOl
Profil : pointeur
Posté le 07-05-2005 à 00:53:26  profilanswer
 

c'est au webmaster de mettre le holla quand le client a des idées de merde !
c'est pas parce qu'on te demande de faire ca, qu'il faut le faire obligatoirement.


---------------
Nos estans firs di nosse pitite patreye...
n°1074491
GenZo-w
Posté le 07-05-2005 à 00:56:35  profilanswer
 

En fait je pense que personne verra cette version vu qu'il y a une version flash beaucoup plus jolie :)

n°1074493
KangOl
Profil : pointeur
Posté le 07-05-2005 à 00:57:20  profilanswer
 

et beaucoup plus lourde et pas référencable...


---------------
Nos estans firs di nosse pitite patreye...
n°1074494
GenZo-w
Posté le 07-05-2005 à 01:00:38  profilanswer
 

En fait c'est un mini-site, c'est juste pour poser un mini-jeu, j'ai pas trop d'intérêt à ce qu'il soit référençable...
 
Mais pour en revenir au javascript... personne voit comment résoudre mon problème ? Ou une autre alternative pour checker si le browser supporte le javascript ?

n°1075980
cerel
Posté le 09-05-2005 à 10:33:14  profilanswer
 

Plusieurs probleme avec ton aproche.
 
En 2005 on n'utilise plus de "detection de browser" qui est une technique issue de la premiere "browser war". Elle n'as que des inconvenients (certains browsers permettent de changer l'userAgent).
En 2005 on utilise la "detection d'objet". En bref, cela consiste a "detecter" si la fonction que l'on veut utiliser est disponible ou pas.
Attention, quand je parle de "detection d'objet", je ne parle pas de detecter "document.all" ou autres trucs.
Je parle plutot d'une detection de fonction en fait.
Genre :

Code :
  1. var div;
  2. if (!!document.getElementById) {
  3.   div = document.getElementById(iddudiv);
  4. } else {
  5.   // autre methode pour obtenir le div
  6. }


 
Ensuite, tu essaye de detecter le JS avec du JS ... Or si ce  dernier n'est pas active (ou que le navigateur ne le supporte pas), ben ton code de detection fonctionne pas.
La aussi tu utilise un mauvaise technique.
De nos jours on separe le JS de l'html, ce qui permet de faire "une detection de JS sans JS".
 
En gros, on construit la page html de telle facon que cette derniere n'ai pas besoin de JS pour fonctionner.
Ensuite on introduit un script (fichier externe) pour _AJOUTER_ le comportement JS.
Donc si le JS n'est pas active, la page fonctionne quand meme. Et si le JS est active, le comportement sera ajoute une fois la page chargee (grace a window.onload).
 
Tu peux lire cet article qui explique pourquoi et comment separer le JS de l'html.

n°1076218
masklinn
í dag viðrar vel til loftárása
Posté le 09-05-2005 à 13:15:16  profilanswer
 

cerel a écrit :

En 2005 on n'utilise plus de "detection de browser" qui est une technique issue de la premiere "browser war". Elle n'as que des inconvenients (certains browsers permettent de changer l'userAgent).


Pas complètement vrai, la détection de navigateurs peut être nécessaire par dessus l'object detection (pas à la place)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

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

  Un script qui ne fonctionne pas...

 

Sujets relatifs
[HTML] Image map ne fonctionne pasAide pour un script html, recuperer email d'une page web
Besoin d'aide pour créer un script (débutante)action script 2.0 Flash MX
Script PHP pour construire un fichier htpasswdBoucle "for" qui ne fonctionne pas totalement ( panier )
Cellule déroulante qui fonctionne sur IE mais pas MozillaScript PHP permettant de réaliser "Enregistrer image sous"
[script WMI] pb : Permission refuséinterface en vb6 et script vbs fonctionne pas
Plus de sujets relatifs à : Un script qui ne fonctionne pas...


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