【问题标题】:CSS Change - save preferences made through JQuery [closed]CSS 更改 - 通过 JQuery 保存首选项 [关闭]
【发布时间】:2013-12-28 01:26:08
【问题描述】:

我正在为希望改变字体大小的人创建一个网站。我用 JQuery $("body").css("font-size", "14px"); 更改它。但是保存它的最佳方法是什么?我应该将其保存在 PHP Session 中(通过 AJAX)还是有更好的方法,例如将其保存在浏览器缓存中?

【问题讨论】:

  • 使用网络存储或cookie
  • 你的意思是全局可变还是每个用户可变?
  • 您可以在此处找到的解决方案之一:stackoverflow.com/questions/14891615/…
  • 你有很多选择,localStorage、indexedDB、cookie、服务器端的存储,每个都有自己的用途,没有最好的方法,因此投票结束为主要基于意见。

标签: php jquery css


【解决方案1】:

我认为如果用户需要登录才能看到该页面,您可以将这些数据一起保存到数据库和会话中。

但您可以将其保存在 cookie(客户端)上以获得更大的视图,例如,如果用户不需要登录。

【讨论】:

  • 我将使用客户端 cookie,因为用户不必登录。谢谢!
【解决方案2】:

要仅为单个用户保存数据,请在现代浏览器中使用 localStorage,在不支持时使用 cookies。您可以使用像 Store.js 这样的小型库来处理这种区别。

如果您的网站有登录名,您应该将此首选项保存到数据库中,最好是通过 AJAX。

【讨论】:

    【解决方案3】:

    如果只是小型网站的简单页面,我会使用 ajax 将任何字体更改保存到 $_session['custom-font-size'] 变量。然后在页面顶部有一个代码块,如果变量 isset() 则添加你的 jquery

    if(isset($_session['custom-font-size']) == TRUE){
        x = '$("body").css("font-size", "14px");'
        // Or other jquery
    }
    

    如果它是一个 MVC 或帐户/数据库驱动的网站,我会做一些不同的事情。

    希望有帮助:)

    【讨论】:

      【解决方案4】:

      您还可以使用 html5 本地存储或 sessionStorage。 html5存储详情看here

      【讨论】:

        【解决方案5】:

        如果它是用户偏好,那么我不会使用 cookie 或 HTML5 存储。用户希望在几天/几周后重新登录时记住他们的设置。当 cookie 过期时,cookie 和 HTML5 可能会被清除,如果用户清除他们的临时 Internet 文件,打开浏览器的“私人”设置等等......

        我建议在您的数据库中添加一列进行设置,在用户登录后立即将该设置加载到会话变量中,然后像这样使用内联 css 或 jQuery 设置字体...

        echo'<style>body {font-size: '.$_SESSION["userPrefFontSize"].'}</style>';
        

        echo'<script>$("body").css("font-size", "'.$_SESSION["userPrefFontSize"].'");</script>';
        

        然后,如果用户更改了他们的设置,请执行一个更新数据库和会话变量的 ajax 调用。当 ajax 调用成功返回时,如果您想查看字体更改,请刷新窗口,或者只需执行另一个 $("body").css 调用来更改字体。

        或者放弃保存它的 ajax 方式并创建一个完整的用户偏好页面,以防他们回来想要记住更多设置。用户偏好页面 -> 包含许多设置 -> 提交给自己 -> 更新数据库和会话变量 -> 更新完成后重新定位以查看更改,header( 'Location: userprefs.php' ); die();

        【讨论】:

          【解决方案6】:

          您也可以使用mediaqueriesflowtype.js 来更改字体大小。

          【讨论】:

          • 我不是给你这个-1的人,但我想提一下,这种字体大小的改变不是屏幕大小的事情,而是用户的偏好。该网站面向可能想要更大字体的年长受众。
          猜你喜欢
          • 2012-08-28
          • 1970-01-01
          • 1970-01-01
          • 2016-12-10
          • 1970-01-01
          • 2014-12-01
          • 2021-07-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多