allora ragazzi ho un grosso problema e spero che qualcuno di voi mi aiuti a sistemarlo
ho creato una pagina html e attraverso il link
<link rel="stylesheet" type="text/css" href="screen.css" media="screen"/>
ho applicato il mio primo foglio di stile
poi con la funzione
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;
}
function setCSS(nome_file_css) {
createCookie('skinUtente',nome_file_css,365);
location.reload();
}
function setCSShref(nome_file_css) {
var link_ = document.getElementsByTagName("link");
for ($i=0;$i<link_.length;$i++)
if(link_[$i].media=="screen")
link_[$i].href=nome_file_css+".css";
}
window.onload = function() {
nome_file_css = readCookie('skinUtente');
if(nome_file_css)
setCSShref(nome_file_css);
}
ho fatto in modo che potessi associare altri fogli di stile
tramite l'attributo href
<li >stampa
<li >Testo
<li >ipovedenti
<li >mobile
il problema è che questa funzione ti fa modificare il foglio css, da visualizzare su schermo
perchè è settata il "media=screen",
ma se faccio visualizzare all'utente come verrà stampata la pagina della versione stampa
ma poi non modifico l'attributo media, non verrà mai stampata con le regole del foglio
di stile per la stampa e quindi non va bene
come faccio a modificare oltre all'attributo href, anche quello media? in caso in cui qualcuno vorrebbe stampare la pagina?
spero di essermi spiegata grazie per l'aiuto che vorrete offrirmi
![]()