Привет У меня есть этот скрипт: http://flamencopeko.net/styleswitch.js, который связан со всеми страницами моего сайта http://flamencopeko.net. Он отлично работает, за исключением того, что сохраненные значения не применяются при смене страницы. Разумеется, функциональность и файлы cookie прекрасно. Настройки просто не будут выглядеть визуально.Получить значения cookie для загрузки на смену страницы
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()
Это код из четырех кнопок в 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>
Большое спасибо. Я бы не подумал об этом как навсегда. Теперь все работает, Ли! Я сам нашел пару других ошибок. –
Любой способ ускорить переходы страницы? Стиль по умолчанию всегда отображается примерно секунду. –
@ OleSørensen ха-ха, как работает ваш JavaScript, нет. Лучшим подходом было бы иметь JavaScript в голове, чтобы прочитать файл cookie и изменить «className» вашего HTML-элемента, а затем использовать CSS для установки ширины вашей страницы/размера вашего текста в зависимости от классаName элемента HTML. Итак: перепроектируйте или живите с ним! –