Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php javascript在所有页面上应用临时css样式表_Javascript_Php_Html_Css - Fatal编程技术网

使用php javascript在所有页面上应用临时css样式表

使用php javascript在所有页面上应用临时css样式表,javascript,php,html,css,Javascript,Php,Html,Css,我必须为禁用用户创建一个网站,在那里我可以更改页面对比度css一个用户选择不同的颜色,到目前为止我有javascript这样做,但当我点击另一个页面时,就像在页面重新加载/刷新中一样,css样式回到默认的样式。我知道一定有办法将其保存为cookie,但我对PHP和JavaScript非常陌生: 这是我的HTML: <body runat="server" id="Body" style="zoom: 100%"> <div id="container"> <

我必须为禁用用户创建一个网站,在那里我可以更改页面对比度css一个用户选择不同的颜色,到目前为止我有javascript这样做,但当我点击另一个页面时,就像在页面重新加载/刷新中一样,css样式回到默认的样式。我知道一定有办法将其保存为cookie,但我对PHP和JavaScript非常陌生:

这是我的HTML:

<body runat="server" id="Body" style="zoom: 100%">
<div id="container">

    <div id="highvis">   
        <ul>
        <li class="highviss"> <a href="#" onclick="swapStyleSheet('css/webcss2.css');return false;">high vis</a>
        <li> <a href="#" onclick="swapStyleSheet('css/webcss3.css');return false;">Dark</a>
        <li> <a href="#" onclick="swapStyleSheet('css/webcss.css');return false;">Default</a>

        <li><a href="#" onclick="zoomIn();return false;">Zoom In ++</a></li>
        <li><a href="#" onclick="zoomOut();return false;">Zoom Out -</a></li>           
        </ul>
        </div>  

如果没有任何想法,有人能帮我做这件事吗?或者我该怎么做。

你可以使用javascript创建cookies,稍后可以传递

这是学校,所以请谨慎阅读:

编辑: MDN的链接,因为我倾向于同意发布的评论:

这是一个类似于您的JS专用解决方案,但它记住了。 因此,在交换样式表上,我们要制作一个具有样式表名称的cookie:

function swapStyleSheet(sheet) {
    createCookie('sheet2load',sheet,365);//save sheet name in cookie
    document.getElementById('pagestyle').setAttribute('href', sheet);
}
要在刷新时加载样式表,在某个地方(如果在.ready事件中使用jquery,则在脚本标记的纯JS somwhere主体底部),我们需要:

var s=readCookie('sheet2load')
if(s!==null)document.getElementById('pagestyle').setAttribute('href', s);
我们还需要这两个函数,我从中借用了它们

函数createCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var expires=“;expires=“+date.togmString();
}
else var expires=“”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i

这应该可以做到,尽管代码未经测试,因此如果它不起作用,请发布一条注释,我会检查它,但无论哪种方式,它都应该为您提供一些提示,说明如何通过创建cookie最简单的方法来实现这一点 您可以使用JQuery Cookie插件来实现这一点


此脚本中不使用任何PHP。只有Javascript和HTML。也有一些关于用js设置cookie的信息,MDN通常比W3JavaScript有更好的信息。
var s=readCookie('sheet2load')
if(s!==null)document.getElementById('pagestyle').setAttribute('href', s);
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;
}