java后台判断是否隐藏页面按钮_web后台根据权限控制按钮显示/隐藏的方案

上午朋友问我一个问题:他用ajax 请求服务端判断权限,根据服务端返回来隐藏没有权限的按钮,这样有一个问题就是页面加载后按钮会闪一下。

这个问题我很自然的就想到:那就把按钮默认都隐藏,ajax 判断完之后再显示有权限的按钮。。。

这是一个成本比较低的办法,但不是个好办法。

吃完饭后,我又想了一下这个问题,想到了一个还不错的办法:

在项目的公共头加一个外部 css,连接到一个后端地址 如:

在 getCssForAuth.php 中将当前用户的所有权限 和按钮的 class 对应,输出一段 css 来控制按钮的显示和隐藏。

这个方案也并不复杂,却有两个好处:

1.不用在每个页面写 ajax 请求;

2.浏览器会缓存 css ,减少请求;

同时因为浏览器缓存 所以要注意一个问题:css 被缓存后,如果权限有更新或者切换账户时 css 不能更新!

这个问题也很简单,只需要每次登录的时候生成一个随机 QueryString 加到 css 链接后面就行了:

还有一个小点要注意一下,就是服务端输出 css 需要加 content-type,PHP 中使用 header即可:

header('Content-type: text/css');

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值