我希望为用户提供在运行时更改字体大小,背景颜色和窗口大小的选项,即在登录系统后。该项目包含多个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样式表,之后我们可以在同一代码中删除样式表。根据用户偏好在不同的样式表之间切换,我们可以设置多个样式表,并只启用当前站点访问者想要查看的样式表。
我在这里得到的问题是:
创建的样式表一旦使用后退出会发生什么情况,它会保留在缓存中吗?
如果它停留在缓存中,每个用户会有多个样式表,具体取决于他们更改界面设置的次数还是每个用户只有一个?
如果用户处于隐身模式,这会如何表现?
或者,如果有人可以建议任何其他可行的解决方案。
答案 0 :(得分:1)
不,创建的样式表不会被缓存 事实上,由于它是在JS代码中动态创建的,因此只有在页面打开时才会存在。重新加载或关闭并重新打开页面后,必须再次创建样式表。
如果您想自己创建这样的功能,当然有各种方法可以缓存它。您必须存储,检索,重新创建,在注销时使其无效并管理代码中的所有此类功能。
由于没有自动缓存功能,隐身模式的行为与任何其他浏览器存储一样,即无法访问当前隐身会话之外存储的任何内容,并且当前隐身会话中存储的任何内容都将会议结束后消失。