将cookie添加到现有的Javascript外部CSS文件交换中
Adding a cookie to an existing Javascript external CSS file swap
我已经创建了一个函数来交换CSS文件,在重新加载页面或转到网站上的另一个页面之前,这个函数运行得很好。我想,虽然我可以不添加cookie,但对于任何将关闭网站并稍后返回的客户,我也可以这样做,而不必切换回他们选择的"网站主题"。
这是现有的功能:
function changeCSS(cssFile, cssLinkIndex)
{
var oldlink = document.getElementsByTagName("link").item(cssLinkIndex);
var newlink = document.createElement("link");
newlink.setAttribute("rel", "stylesheet");
newlink.setAttribute("type", "text/css");
newlink.setAttribute("href", cssFile);
document.getElementsByTagName("head").item(0).replaceChild(newlink, oldlink);
}
那么,cookie可以使用现有的newlink变量及其属性吗?还是我需要在"set cookie"函数中创建另一个变量,然后确定newlink变量?
我不会交换css,相反,我会制作一个对所有用户都相同的"基本主题",并在该主题上应用一个"皮肤",这样你就有了更易于维护的代码,不必删除/重新添加样式表。所以基本上,当用户选择他喜欢的皮肤时,我会在痴呆症上添加一个新的样式表。
不管怎样,你可以很容易地使用这样的图书馆https://github.com/carhartl/jquery-cookie如果您使用jQuery并在用户更改皮肤时动态设置或更改cookie的值。您的脚本可以在页面加载期间检查该cookie,并相应地附加首选皮肤。
ps如果你想避免FOUC(未格式化内容的闪现),你需要以某种方式引入加载或在服务器端完成整个过程。
相关文章:
- 关于引入外部javascript文件的问题&css通过https
- js和css文件-在publichtml外部或内部
- 正在创建网页,并希望将外部链接调用为html和css
- 如何为下面的给定代码提供外部 CSS
- Chrome审核:在外部CSS文件之间的头中发现了1个内联脚本块&”;
- 是否可以在外部浏览器中注入 CSS
- HTML中没有包含外部CSS和JS文件
- 通过jQuery或Javascript应用于父窗口的外部css规则
- 尝试将外部JS和CSS文件添加到我的rails应用程序中
- Javascript和CSS,内部HTML与外部文件
- 当 Node.js 调用 HTML 时,外部 Javascript 和 CSS 不会对 HTML 产生影响
- CSS和Javascript可以在内部服务器上工作,但不能在外部工作
- Xcode-UIWebview不显示CSS、Javascript或外部内容
- 在javascript内部呈现HTML时包含外部CSS
- 如何更改外部样式表的css规则
- 外部CSS影响(“出血”进入)具有聚合物的阴影DOM
- jQuery:CSS更改后,何时查询新的外部高度
- 没有对CSS使用外部样式表,导致我的代码无法执行
- 如何使用 CSS 在 HTML 中设置外部 SVG 颜色
- 如何将外部 css/js 文件提供给 NodeJS 应用程序显示的 html 文件