Javascript HTML页面上的持久CSS类更改
假设我想让HTML页面的读者调整字体大小。我可以通过javascript创建一个简单的按钮和一个onlick事件,该事件将更改相应css文件中的font-size属性-比如将Javascript HTML页面上的持久CSS类更改,javascript,html,css,Javascript,Html,Css,假设我想让HTML页面的读者调整字体大小。我可以通过javascript创建一个简单的按钮和一个onlick事件,该事件将更改相应css文件中的font-size属性-比如将body{font-size:10px;}更改为body{font-size:12px;} 但是,在重新加载页面或用户移动到其他页面时,这些更改不会持续。将字体大小保存在某种变量下的最简单解决方案是什么,该变量将持续到浏览器关闭为止?Cookie是实现这一点的唯一方法吗(也就是说,有没有一种方法可以在不让用户下载任何内容的情
body{font-size:10px;}
更改为body{font-size:12px;}
但是,在重新加载页面或用户移动到其他页面时,这些更改不会持续。将字体大小保存在某种变量下的最简单解决方案是什么,该变量将持续到浏览器关闭为止?Cookie是实现这一点的唯一方法吗(也就是说,有没有一种方法可以在不让用户下载任何内容的情况下完成同样的事情?)
非常感谢您的任何建议/参考。我想您正在寻找合适的人选。快速运行:本地存储将持续到网页清除为止,会话存储仅持续到浏览器关闭为止
两者都在客户端存储数据。我想您正在寻找。快速运行:本地存储将持续到网页清除为止,会话存储仅持续到浏览器关闭为止
两者都在客户端存储数据。也就是说:您希望在不同的页面上共享一些信息。有几种选择:
- 将值附加到URL并传递李>
- 储存在小尺寸且可能过期的饼干中李>
- 存储在中,支持高达5MB~10MB的存储空间,并且可以永久保存(如果您不手动清洁)李>
- 存储在会话中,当会话被破坏时,会话将消失
- 存储在数据库中,如主题/外观
- 将值附加到URL并传递李>
- 储存在小尺寸且可能过期的饼干中李>
- 存储在中,支持高达5MB~10MB的存储空间,并且可以永久保存(如果您不手动清洁)李>
- 存储在会话中,当会话被破坏时,会话将消失
- 存储在数据库中,如主题/外观
- 在绝对简单的网络中,没有持久性或内存。您对页面发出请求,如
GET
,Web服务器通过发送页面(以及任何引用的图像、css等)进行响应,您就完成了。每个请求都独立于其他请求
Cookie是一种在请求之间保持状态的方法。Cookie用于维护会话,这是一个不属于基本web的概念,或者用于维护更简单的信息位。(除了cookies,还有其他方法,但这是另一个主题)
在您的情况下,如果您有登录和会话的用户,您可以将字体大小存储为某种首选项,以便在登录时应用。如果没有(或者即使有),可以将首选大小存储为cookie值
在这两种情况下,除了简单的请求/响应之外,您还需要一些服务器端处理来应用该首选项,或者在每个页面中都需要一些javascript,例如,从cookie中读取字体大小,并将其设置为
上的基本font size
属性或其他适当的元素,以便相应地调整所有其他大小-假设使用百分比或em-s的相对字体大小
如果除了首选字体大小之外,您还需要存储更多信息,那么HTML5LocalStorage可能是合适的,但是如果您只有这一个首选项,我认为这太过分了
在我工作过的一个系统中,每个页面都包含“user.css”,它不是一个实际的文件;它是根据存储在数据库中的用户偏好在请求时在服务器端生成的
如果不了解更多关于系统的信息,就很难更加具体。毫无疑问,网络没有持久性或内存。您对页面发出请求,如GET
,Web服务器通过发送页面(以及任何引用的图像、css等)进行响应,您就完成了。每个请求都独立于其他请求
Cookie是一种在请求之间保持状态的方法。Cookie用于维护会话,这是一个不属于基本web的概念,或者用于维护更简单的信息位。(除了cookies,还有其他方法,但这是另一个主题)
在您的情况下,如果您有登录和会话的用户,您可以将字体大小存储为某种首选项,以便在登录时应用。如果没有(或者即使有),可以将首选大小存储为cookie值
在这两种情况下,除了简单的请求/响应之外,您还需要一些服务器端处理来应用该首选项,或者在每个页面中都需要一些javascript,例如,从cookie中读取字体大小,并将其设置为
上的基本font size
属性或其他适当的元素,以便相应地调整所有其他大小-假设使用百分比或em-s的相对字体大小
如果除了首选字体大小之外,您还需要存储更多信息,那么HTML5LocalStorage可能是合适的,但是如果您只有这一个首选项,我认为这太过分了
在我工作过的一个系统中,每个页面都包含“user.css”,它不是一个实际的文件;它是根据存储在数据库中的用户偏好在请求时在服务器端生成的
如果不了解更多有关系统的信息,就很难更加具体。如果您不首先通过以像素为单位指定字体大小,即如果您使用:
body { font-size: small;}
(或者对于视力差的人来说,最好是中等尺寸,而不是小尺寸),而不是body{font size:10px;}
,那么你一开始就不需要提供这样的设施。用户将能够使用浏览器的纯文本缩放功能来放大文本-他们已经习惯了这样做-并且只要他们在同一窗口中停留在站点上,这种放大就会持续。许多有永久缩放需求的用户可能会有自己的o