经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
layui实际项目使用过程中遇到的兼容性问题及解决
来源:jb51  时间:2023/4/24 8:50:40  对本文有异议

layui项目使用过程中遇到的兼容性问题

layui实践兼容

记录自己在layui的实际使用过程中遇到的一些兼容性问题,烂笔头>>>大脑

layui在vue项目中不能自动渲染的问题

下载layui源码到本地,在vue的项目中引用,会出现layui的组件渲染失败,只有手动调用render函数才能渲染成功的问题。

原因是,layui的自动渲染和vue的自动渲染有冲突,只需要将layui中的form.js和element.js的自动渲染关闭就可以了,我这里是直接将layui中的自动渲染给屏蔽掉了。

layui中获取layui路径方法不兼容IE11的问题

控制台打印报错:

Layui hint: css/modules/laydate/default/laydate.css?v=5.0.9 timeout

layui的弹出层组件、时间组件、穿梭组件等都不能正常使用。

原因是,layui中的获取layui文件路径的方法不兼容IE11。导致在IE11下,项目找不到该组件,所以组件当然就不能正常使用了。

解决方法

将上面红框内的代码用下面代码替换:

  1. //获取layui所在目录
  2. ,getPath = function(){
  3. var jsPath = doc.currentScript ? doc.currentScript.src : function(){
  4. var head = document.head || document.getElementsByTagName('head')[0];
  5. var js = head.children
  6. , last = js.length - 1
  7. , src;
  8. for (var i = last; i > 0; i--) {
  9. if (js[i].readyState === 'interactive') {
  10. src = js[i].src;
  11. break;
  12. }
  13. }
  14. return src || js[last].src;
  15. }();
  16. return jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
  17. }()

替换完成之后,就可以重新打包,新打好的包放到项目里面就可以了。

在IE8下使用layui遇到的坑

栅格系统不支持

  1. <!--copy cdn上的js下来,改路径,将下面代码加入当前页面body-->
  2. <!--[if lt IE 9]>
  3. ? <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  4. ? <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
  5. <![endif]-->

上传preview方法不支持

  1. ? ? var files = obj.pushFile();
  2. //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
  3. ?? ??? ??? ? ? ?/*
  4. ?? ??? ??? ? ? ?obj.preview(function(index, file, result){
  5. ?? ??? ??? ? ? ??? ?var fileName=file.name;
  6. ?? ??? ??? ? ? ??? ?
  7. ?? ??? ??? ? ? ?});
  8. ?? ??? ??? ? ? ?*/
  9. <!--获得filename方法修改-->
  10. ? ?
  11. ?? ??? ??? ? ? ?var inputFile = document.getElementsByName("uploadVideo");
  12. ?? ??? ??? ? ? ?var fileValue=inputFile[0].value;
  13. ?? ??? ??? ? ? ?var pos=fileValue.lastIndexOf("\\");
  14. ?? ??? ? ? ? ? ?var fileName=fileValue.substring(pos+1);

上传弹出下载框

  1. //服务端添加
  2. response.setHeader("Content-Type", "text/html");

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号