我发现的所有其他问题都与更改特定元素有关,或者使用按钮更改CSS文件,但我期望找到的是:刷新整个CSS文件
有一个脚本可以在页面刷新时交换整个CSS文件?
I.e.我有我的核心style.css
和补充{color}.css
文件,它替换style.css
中的某些元素,我希望这些补充CSS文件在刷新时随机加载。
对不起,我甚至不知道从哪里开始。希望有人能提供一些建议?
谢谢。
我发现的所有其他问题都与更改特定元素有关,或者使用按钮更改CSS文件,但我期望找到的是:刷新整个CSS文件
有一个脚本可以在页面刷新时交换整个CSS文件?
I.e.我有我的核心style.css
和补充{color}.css
文件,它替换style.css
中的某些元素,我希望这些补充CSS文件在刷新时随机加载。
对不起,我甚至不知道从哪里开始。希望有人能提供一些建议?
谢谢。
从根本上说,这只是一个随机的,如捡东西的事:(一罕见的情况下,document.write
实际上不是一个坏的解决方案)
<head>
<!-- ... -->
<script>
var sheets = ["sheet1.css", "sheet2.css", "sheet3.css"];
var sheet = sheets[Math.floor(Math.random() * sheets.length)];
document.write('<link rel="stylesheet" href="' + sheet + '">');
</script>
<noscript>
<link rel="stylesheet" href="sheet1.css">
</noscript>
<!-- ... -->
注意noscript
后备总是会使用JavaScript禁用的浏览器上的样式表相同。
所有你需要做的用Javascript加载CSS文件是将一个<link>
元素添加到DOM/body,它会自动加载。
因此,在您<head>
部分,您可以包括<script>
标签,只是随机选择一个数组color.css
并生成链接标签,最好尽早文件,以防止闪烁英寸
<script>
var colors = ['red.css', 'blue.css', 'green.css'];
var colors_idx = Math.floor(Math.random()*colors.length);
document.write('<link href="'+colors[ colors_idx ]+'" rel="stylesheet" type="text/css" />');
</script>
(PS。有简洁的方式来注入HTML,保持简洁把重点放在解决方案。用你喜欢的方式,document.write
可有点善变。)
包括干得好了'
完美。非常感谢你! – ukijake