CSS更改 - 保存通过JQuery进行的首选项

时间:2013-12-27 16:43:28

标签: php jquery css

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

6 个答案:

答案 0 :(得分:1)

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

但是你可以将它保存在cookie(客户端)以获得更大的视图,例如,如果用户不需要记录。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

您还可以使用html5本地存储或sessionStorage。有关html5存储的详细信息,请查看here

答案 3 :(得分:0)

如果它只是小型网站的简单网页,我只需使用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 :(得分:0)

如果是用户偏好,那么我就不会使用cookie或HTML5存储。当用户在几天/几周后退回时,他们希望记住他们的设置。如果用户清除临时互联网文件,打开浏览器“私密”设置等,Cookie和HTML5可能会在Cookie过期时被删除...

我建议在数据库中添加一个列进行设置,一旦用户登录就将该设置加载到会话变量中,然后使用内联css或jQuery设置字体,如下所示......

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

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

然后,如果用户更改其设置,请执行ajax调用以更新数据库和会话var。当ajax调用成功返回时,如果要查看字体更改,请执行窗口刷新,或者只是执行另一个$(“body”)。css调用以更改字体。

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

答案 5 :(得分:-1)

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