Bonjour, Me voilà un peu perplexe. J’ai créé un site (Merci openclassrooms), j'ai deux langes et j'ai fait une page index qui redirige l'internaute en fonction de la langue de son navigateur. Je ne suis pas assez avance alors j’ai adapté un code trouve sur le net. Sur explorer lors de mes tests je suis à chaque fois bloque par « active x » que je dois à chaque fois activer. C'est très ennuyeux cela pourrai faire croire que j’ai un site mal veillant. Bien entendu moi je pourrais simplement désactiver la fonction, mais ce n’est pas à moi que pense. Comment faire pour que mon site passe ce controle?.
Voici mon code index
<html>
<head>
<title></title>
<script type="text/javascript">
<!-- Debut
// JavaScript pris sur le site: "http://www.java.scripts-fr.com"
if (navigator.browserLanguage)
var language = navigator.browserLanguage;
else
var language = navigator.language;
if (language.indexOf('fr') > -1) document.location.href = './F/accueil.html';
else if (language.indexOf('de') > -1) document.location.href = './D/home.html';
else
document.location.href = './D/home.html';
// fin du script -->
</script>
</head>
<bodi>
</bodi>
</html>
J'ai le même probleme si j'ouvre directemment une page avec le code suivant
<script>
function visibilite(thingId)
{
var targetElement;
targetElement = document.getElementById(thingId) ;
if (targetElement.style.display == "none")
{
targetElement.style.display = "" ;
} else
{
targetElement.style.display = "none" ;
}
}
</script>
Je m'auto réponds. Premièrement j'ai oublié une précision dans mon post, sur explorer ma page n’était même pas chargée j'avais un page blanche.
Après des recherches j'ai un peu améliore mon code. Maintenant j'ai un bandeau en bas de page pour activeX mais la page est chargée. c'est déjà beaucoup mieux.
Pour ceux qui auraient le même problème voici mon nouveau code.
<!DOCTYPE html>
<html>
<head>
<!-- Redirection selon Langue -->
<script language="javascript">
// detection de la langue du navigateur
if (navigator.language) langue=navigator.language;
else if (navigator.userLanguage) langue=navigator.userLanguage;
else langue='';
// si langue FR alors BIENVENUE, sinon WELCOME
if (langue.substr(0, 2)=='fr') url='./F/accueil.html';
else url='./D/home.html';
// redirection
location.replace(url);
</script>
<!-- Redirection vers version anglaise si javascript pas reconnu -->
<meta http-equiv="refresh" content="0;url= './D/home.html';" />
</head>
<body>
</body>
</html>
Enlève language="javascript" on n'utilise plus cet attribut depuis 1998 (et ce n'est pas une blague).
Définis tes variables en javascript. Là, langue n'est jamais défini.
Fais ta redirection en javascript, plutôt que d'utiliser une balise refresh.
Mets ton javascript juste avant de refermer </body>, plutôt que dans le <head>.
Tiens-t'en à des méthodes standardisées par le langage Javascript. userLanguage ne l'est pas.
Il est nécessaire de définir un charset et un titre pour ta page.
Ne fais pas des chemins absolus vers tes disques durs (si c'est bien ce que tu as fait avec ./D et ./F). Considère ton site comme un seul dossier, et fais tout à partir de là.
Ensuite, ton problème vient du fait que tu ouvres tes pages de façon locale, sans serveur. Entre les "fautes" de ta page et ça, ton IE se met automatiquement en mode Quirk (rétrocompatibilité). Idéalement, il te faudrait être sur un serveur local (Mamp, wamp, etc.) qui émulera un serveur de production ; mais tu peux également forcer IE à rester à son mode de compatibilité le plus haut (sa propre version) en utilisant une balise meta appropriée, répondant au doux nom de X-UA-Compatible.
- Edité par EmmanuelBeziat 17 mars 2018 à 17:08:10
Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !
Active x sur windows
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !