在运行时更新CSS文件,更改fontsize,背景颜色和窗口大小

时间:2017-05-22 18:19:57

标签: javascript html css

我希望为用户提供在运行时更改字体大小,背景颜色和窗口大小的选项,即在登录系统后。该项目包含多个CSS文件,并在JavaScript文件中调用。

我在Goggle上有这个解决方案,但它提出了一些其他问题:

解决方案A:我们可以使用document.createElement函数创建一个新的样式元素。

 var sheet = document.createElement('style')
 sheet.innerHTML = "div {border: 2px solid black; background-color: blue;}";
 document.body.appendChild(sheet);

在上面的语句中,它创建了一个CSS样式表,之后我们可以在同一代码中删除样式表。根据用户偏好在不同的样式表之间切换,我们可以设置多个样式表,并只启用当前站点访问者想要查看的样式表。

我在这里得到的问题是:

  1. 创建的样式表一旦使用后退出会发生什么情况,它会保留在缓存中吗?

  2. 如果它停留在缓存中,每个用户会有多个样式表,具体取决于他们更改界面设置的次数还是每个用户只有一个?

  3. 如果用户处于隐身模式,这会如何表现?

  4. 或者,如果有人可以建议任何其他可行的解决方案。

1 个答案:

答案 0 :(得分:1)

不,创建的样式表不会被缓存 事实上,由于它是在JS代码中动态创建的,因此只有在页面打开时才会存在。重新加载或关闭并重新打开页面后,必须再次创建样式表。

如果您想自己创建这样的功能,当然有各种方法可以缓存它。您必须存储,检索,重新创建,在注销时使其无效并管理代码中的所有此类功能。

由于没有自动缓存功能,隐身模式的行为与任何其他浏览器存储一样,即无法访问当前隐身会话之外存储的任何内容,并且当前隐身会话中存储的任何内容都将会议结束后消失。