后台管理界面web换肤及easyui实例
- 一般的后台管理系统,都采用一个主框架,然后通过iframe方式,嵌入多个tab组件的方式,如下图的方式,换肤的按钮一般都放在主界面,为了使得整体系统的样式统一要求所有的iframe界面统一使用同一个皮肤,例如皮肤选择了红色,那么所有已打开的界面都要换成红色皮肤,还有新打开的界面也要使用红色的皮肤。
-
- 解决已打开的iframe的方式,采用JS替换css
function onChangeTheme(theme){ var link = $('#easyuicss'); var themeUrl = '${ctx }/static/easyui/themes/'+theme+'/easyui.css'; link.attr('href', themeUrl); $('#easyuicss',$("iframe").contents()).attr('href', themeUrl); }
- 解决新的iframe的思路
JS代码
function onChangeTheme(theme){ //设置cookie $.cookie('easyuiTheme',theme); var link = $('#easyuicss'); var themeUrl = '${ctx }/static/easyui/themes/'+theme+'/easyui.css'; link.attr('href', themeUrl); $('#easyuicss',$("iframe").contents()).attr('href', themeUrl); }
JSP代码
<link rel="stylesheet" type="text/css" href="${ctx }/static/easyui/themes/${cookie.easyuiTheme.value==null?'bootstrap':cookie.easyuiTheme.value}/easyui.css" id="easyuicss">
//通过采用EL表达式,来获取cookie
${cookie.easyuiTheme.value==null?'bootstrap':cookie.easyuiTheme.value}