搜索

当前位置:首页 > 全栈分享 > 帝国cms > 正文

公布一个由畅言自适应版代码和帝国cms转义反斜杠共同组成的bug

发布时间:2019-05-01 04:27:05作者:魏义齐阅读:()

本文为博主原创文章,未经博主允许不得转载。

首先你要知道这个bug会影响网站的响应式代码,并且我会对这个bug提出解决方案,在说出bug之前我必须描述这个bug形成的原因,以便大家遇到类似问题时能快速找对解决办法。

帝国cms会转义反斜杠即“\”这个大家都知道,所以畅言代码在帝国cms里无法正常加载且前台会出现代码,解决方法就是删除畅言代码<\/script>里的“\/”,具体的大家请看文章“畅言自适应版代码安装到帝国cms后识别错误前台页面出现代码怎么解决”,删除“\/”前台畅言加载正常,但在我网站会出现一个问题,这个问题具体描述如下:

我的网页宽度是1140px,响应式也是从1140px开始的,css的里的代码是这么写的:
  1. @media screen and (max-width:1140px) { 
  2. #content .right { 
  3.     displaynone

也就是小于1140px时主内容区右侧部分隐藏,1140px~960px右侧部分都可以隐藏,但是当屏幕宽度是959px时右侧就没有隐藏,而959px正是畅言自适应版由pc到移动过度宽度,换句话说右侧的不隐藏是伴随着畅言自适应版由pc到移动过度开始的。你不用质疑我的css代码或者标签有问题,即便给你远程演示你也会认定是这个结果。
畅言和帝国cms组成的bug
我是怎么发现这个问题的?既然不隐藏我得知道它什么时候不隐藏,所以就用开发者工具不断调整宽度,最后发现是959px时不隐藏,而此时畅言样式正由pc向移动转变,所以肯定是畅言的问题,畅言代码我改动的也就是把<\/script>里的“\/”删除了,把删除的恢复,我的响应式没问题,接下来就是想别的办法解决反斜杠问题了。

百度有文章说修改/e/class/functions.php里的代码去掉反斜杠,但这样会影响帝国cms的安全性,其实解决方法很简单,在论坛一篇帖子里的回复里找到的,只需要多加一个“\”就可以了,即<\\/script>,这样既不影响畅言的加载又不影响网站的响应式。

帝国cms转义反斜杠会让大家遇到很多问题,但要具体问题具体分析。

2019年6月24日补充:360的自动推送js也有反斜杠,如果发现前台页面footer下面有几个括号,按文中的方法多加个反斜杠就可解决。

本文标签:畅言 ,您可以阅读与「畅言 」相关的所有文章

魏义齐全栈技术交流:魏义齐全栈技术交流

上一篇:帝国cms编辑器集成codesnippet代码高亮插件后为其添加行号的方法下一篇:帝国cms解决代码高亮方法二

赞助本站

原创不易,您的赞助就是博主更新的动力!

赞助本站可在赞助光荣榜留下外链信息,支付宝扫此二维码可领红包