Compatibilité d'un script avec opéra / safari
tarentaise05
Messages postés
6
Statut
Membre
-
feather -
feather -
Bonjour,
Un petit souci de compatibilité d'un script avec Opéra et Safari.
J'ai sur mon site un script qui permet aux mal-voyants de changer la feuille de style qui gère celui-ci afin de pouvoir notamment augmenter la taille des polices utilisées, ce script s'active en cliquant sur un lien.
Malheureusement avec Opéra ou Safari comme navigateur lorsqu'on clique sur le lien la page se reload, comme prévu, avec la nouvelle feuille de style mais dans la foulée elle se recharge à nouveau avec la feuille de style normale.
Voici le javascript utilisé et à la suite le lien utilisé
Le lien :
Si quelqu'un à la solution ....
D'avance merci
Un petit souci de compatibilité d'un script avec Opéra et Safari.
J'ai sur mon site un script qui permet aux mal-voyants de changer la feuille de style qui gère celui-ci afin de pouvoir notamment augmenter la taille des polices utilisées, ce script s'active en cliquant sur un lien.
Malheureusement avec Opéra ou Safari comme navigateur lorsqu'on clique sur le lien la page se reload, comme prévu, avec la nouvelle feuille de style mais dans la foulée elle se recharge à nouveau avec la feuille de style normale.
Voici le javascript utilisé et à la suite le lien utilisé
function setActiveStyleSheet(title) {
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
}
function getActiveStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
}
return null;
}
function getPreferredStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("rel").indexOf("alt") == -1
&& a.getAttribute("title")
) return a.getAttribute("title");
}
return null;
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
window.onload = function(e) {
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
}
window.onunload = function(e) {
var title = getActiveStyleSheet();
createCookie("style", title, 365);
}
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
Le lien :
<script type="text/javascript">
var cookie = readCookie("style");
if (cookie == "accessibilite")
{document.write("<a href=\"#top\" onclick=\"setActiveStyleSheet('normal'); document.location.reload(); return false;\">Fin d'accessibilité</a>");}
else
{document.write("<a href=\"#top\" onclick=\"setActiveStyleSheet('accessibilite'); document.location.reload(); return false;\">Accessibilité</a>");}
</script>
Si quelqu'un à la solution ....
D'avance merci
A voir également:
- Compatibilité d'un script avec opéra / safari
- Compatibilite windows 11 - Guide
- Opera mini pc - Télécharger - Navigateurs
- Script vidéo youtube - Guide
- Safari pour windows - Télécharger - Navigateurs
- Mas script - Accueil - Windows