2017-05-22 22 views
0

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

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

解决方案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. 如果用户处于隐身模式,这会如何表现?

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

回答

1

不,创建的样式表不会被缓存。
事实上,由于它是在你的JS代码中动态创建的,所以它只会在页面打开的时候才存在。一旦页面重新加载或关闭并重新打开,样式表将不得不重新创建。

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

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

+0

感谢您的回复 –

相关问题