Salut J'ai ce script: http://flamencopeko.net/styleswitch.js qui reliait à de toutes les pages de mon site http://flamencopeko.net. Cela fonctionne bien, sauf que les valeurs stockées ne sont pas appliquées lors du changement de page. La fonctionnalité et les cookies eux-mêmes sont très bien je crois. Les préférences ne vont pas coller visuellement.obtenir des valeurs de cookie pour charger la page changement
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 var 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;
}
function increaseTableSize() {
var t = document.getElementsByTagName('table');
for(i=0;i<t.length;i++) {
t[i].style.width = 1000+"px"
}
}
function decreaseTableSize() {
var t = document.getElementsByTagName('table');
for(i=0;i<t.length;i++) {
t[i].style.width = 677+"px"
}
}
function setTableSize() {
var t = document.getElementsByTagName('table');
for(i=0;i<t.length;i++) {
t[i].style.width = selectedwidth+"px"
}
}
function increaseFontSize() {
var p = document.getElementsByTagName('td');
for(i=0;i<p.length;i++) {
p[i].style.fontSize = 16+"px"
}
}
function decreaseFontSize() {
var p = document.getElementsByTagName('td');
for(i=0;i<p.length;i++) {
p[i].style.fontSize = 10+"px"
}
}
function setFontSize() {
var t = document.getElementsByTagName('td');
for(i=0;i<t.length;i++) {
t[i].style.width = selectedsize+"px"
}
}
var selectedwidth=readCookie("peko_table")
if (document.getElementByTagName && selectedwidth!=null) //load user chosen width from cookie if there is one stored
setTableSize()
var selectedsize=readCookie("peko_font")
if (document.getElementByTagName && selectedsize!=null) //load user chosen font from cookie if there is one stored
setFontSize()
C'est le code pour les quatre boutons toc.php:
<a href="javascript:createCookie('peko_table','600',50); decreaseTableSize();"><img src="/ico/standard.gif" width="12" height="12" hspace="1" vspace="1" />slim</a>/
<a href="javascript:createCookie('peko_table','1000',50); increaseTableSize();"><img src="/ico/wide.gif" width="12" height="12" hspace="1" vspace="1" />wide</a>/
<a href="javascript:createCookie('peko_font','10',50); decreaseFontSize();"><img src="/ico/minus.gif" width="12" height="12" hspace="1" vspace="1" />small text</a>/
<a href="javascript:createCookie('peko_font','18',50); increaseFontSize();"><img src="/ico/plus.gif" width="12" height="12" hspace="1" vspace="1" />large text</a>
Merci beaucoup. Je n'aurais jamais pensé à ça pour toujours. Tout fonctionne maintenant, Lee! J'ai trouvé quelques autres bugs moi-même. –
Toute façon d'accélérer les transitions de page? Le style par défaut est toujours affiché pendant environ une seconde en premier. –
@ OleSørensen ha ha, la façon dont votre JavaScript fonctionne, non. Une meilleure approche serait d'avoir JavaScript dans la tête pour lire le cookie et modifier le 'className' de votre élément HTML, puis utiliser CSS pour définir la largeur de votre page/taille de votre texte en fonction du className de l'élément HTML. Alors: refonte, ou vivre avec! –