gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:19 25 4
gpt4 key购买 nike

我必须为禁用用户创建一个网站,我可以在其中更改页面对比度 css 一个用户选择不同的颜色,到目前为止我有 javascript 可以这样做,但是当我点击另一个页面时,页面会重新加载/refresh 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:

function swapStyleSheet(sheet) {
document.getElementById('pagestyle').setAttribute('href', sheet);

}


function zoomIn()
{
var Page = document.getElementById('Body');
var zoom = parseInt(Page.style.zoom) + 10 +'%'
Page.style.zoom = zoom;
return false;
}

function zoomOut()
{
var Page = document.getElementById('Body');
var zoom = parseInt(Page.style.zoom) - 10 +'%'
Page.style.zoom = zoom;
return false;
}

谁能帮我做这件事,如果没有任何想法,或者我该如何去做。

最佳答案

这是一个与您类似的纯 JS 解决方案,但它会记住 .所以在交换样式表上,我们想用样式表名称制作一个 cookie:

function swapStyleSheet(sheet) {
createCookie('sheet2load',sheet,365);//save sheet name in cookie
document.getElementById('pagestyle').setAttribute('href', sheet);
}

并在某个地方的刷新上加载样式表(如果在 .ready 事件中使用 jquery,在脚本标记中 body 底部的纯 JS somwhere 上)我们需要这个:

var s=readCookie('sheet2load')
if(s!==null)document.getElementById('pagestyle').setAttribute('href', s);

我们还需要我从http://www.quirksmode.org/js/cookies.html 借来的这两个函数

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;
}

这应该可以做到,虽然代码未经测试,所以如果它不起作用发表评论,我会检查它,但无论哪种方式,它都会给你一些关于如何做的提示

关于javascript - 使用 php javascript 在所有页面上应用临时 css 样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22898668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com