今天在帝国二次开发中遇到一个奇葩问题,因为模板中有幻灯切换,需要用到一段JS,代码如下
var u = navigator.userAgent,
isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1,
isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
urls = {
'android':andriod,
'ios': 'itms-services://?action=download-manifest&url='+ios,
'other':andriod
};结果保存模板后,查看前台代码,上述中的代码变成了如下:
var u = navigator.userAgent,
isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1,
isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/),
urls = {
'android':andriod,
'ios': 'itms-services://?action=download-manifest&url='+ios,
'other':andriod
};一对比可以发现在
isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
这个反斜杠 \ 给过滤掉了。这就导致了幻灯图在PC端查看是没任何问题的,手机端查看的时候就不切换并且失去样式。
解决办法:
经过查阅相关资料,发现只需要将 \ 写成四个 \\\\ 就可。
修改过的代码:
var u = navigator.userAgent,
isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1,
isiOS = !!u.match(/\\\\(i[^;]+;( U;)? CPU.+Mac OS X/),
urls = {
'android':andriod,
'ios': 'itms-services://?action=download-manifest&url='+ios,
'other':andriod
};![图片[1]-帝国cms模板中系统会自动替换掉反斜杠的解决办法-HostJL-VPS主机交流](https://www.hostjl.com/wp-content/hctimg/20220928/1646795919-3a26dc568c1ada7186.jpg)
© 版权声明
THE END










暂无评论内容