《帝国网站管理系统》英文译为"Empire CMS",简称"Ecms",它是基于B/S结构,且功能强大而帝国CMS-logo易用的网站管理系统。本系统由帝国开发工作组独立开发,是一个经过完善设计的适用于Linux/windows引/Unix等环境下高效的网站解决方案。从帝国新闻系统1.0版至帝国网站管理系统,它的功能进行了数次飞跃性的革新,使得网站的架设与管理变得极其轻松! 事情的起因是PiaoYun.CC小编在制作模板时,模板中插入了一段js代码,在前提构建html页面的时候一切正常,但制作成帝国CMS(EmpireCMS)模板后就出错误了,查看js报错信息如下:
missing ) after argument list
这就有点奇怪了,怎么好端端的放在帝国CMS(EmpireCMS)里就报错了呢?我们往下排查,首先比对帝国CMS(EmpireCMS)内生成的页面,发现js代码中的反斜杠\部分消失了,这是因为帝国CMS(EmpireCMS)对反斜杠进行了过滤。 原来的js代码: function add_to_contrast(checkboxId,uid,name,thumb){
$('.teach_Xuanf').show();
if($('#'+checkboxId).attr("checked")=='checked'){
if($('.t_info').size()>1){
alert('每次只能选择两位教师进行对比!');
$('#'+checkboxId).removeAttr("checked");
}else{
$('#contrast').prepend('<li class="t_info" id="'+uid+'"><img src="'+thumb+'" width="90" height="88"><br /><span>'+name+'</span><a href="javascript:void(0)" onclick="remove_from_contrast(\''+uid+'\')"></a><input type=hidden id="tuid" name="tuid[]" value="'+uid+'"></li>');
}
}else{
$('#'+uid).remove();
}
}
解决方法也很简单,将反斜杠改为四个
,也就是\\\\
单个\
用四个\
表示即可,如:\r
用\\\\r
表示即可。帝国CMS(EmpireCMS)6.6以上版本还可以用转义字符函数egetzy()
来源参考: 帝国cms在模板中含有反斜杠\时被自动过滤的问题 - CMS大学