经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
pc端兼容IE9及以上版本 IE浏览器兼容
来源:cnblogs  作者:风随心动*  时间:2020/11/16 10:08:04  对本文有异议

最近业务部门反映我们商城的兼容性不是很好,尤其是在IE浏览器上,经过调研,我们决定对IE9及以上版本的IE内核浏览器进行主流程测试,发现有哪些功能在IE9上不兼容

一、CSS兼容性

  1.如下图所示使用了Button标签,在IE浏览器或者是IE内核的浏览器按钮文字却没有显示。F12看下代码:

 

 

  很明显,在IE浏览器少了个css属性:line-height:33px;加上这个属性,在IE浏览器上就可以显示文字了。

  Tip:今后如果有开发人员再使用button这个标签,记得加上line-height这个属性,并且这个属性的值和height保持一致。

  2.尽量不要使用absolute绝对布局,使用float属性在IE浏览器兼容性会更好 

 

二、html兼容性

  1.在IE9浏览器中input 标签没有placeholder 属性,使用时会无效果。

 

   解决方案:使用input value值取代placeholder

  在需要使用input placeholder属性时引用已经封装好的input-placeholder-ie9.js脚本

  1. <script type="text/javascript" src="${CDNRoot}/template/tongan/statics/js/input-placeholder-ie9.js?time=202011051830"></script>

三、IE浏览器选择文件

  1. IE浏览器出现选择文件弹出框时,不会再往下执行代码

 

  调试过程中发现,每次出现选择文件弹出框,选择完图片之后,并未执行代码2,也就是说没有走进回调方法里。最后将代码1和代码2的顺序跌倒,问题解决。

四、IE浏览器出现乱码和400或者404

 1. IE浏览器中href=““或者window.open(),window.location.href里面的请求链接如包含汉字或特殊字符就会导致接口请求报错或者404 400

  分析:jsp通过url请求传递参数给后端,但是url的格式不对会造成请求失败。这种url的问题常发生在在IE浏览器中,其他浏览器火狐、chrome等不会有问题。因为谷歌中会自动给空格和一些特殊字符编码,而IE没有这一步。

  解决方法:手动给url编码。

  1. function searchProduct(searchFields){
  2. window.location.href = webPath.webRoot + "/productlist.ac?keyword=" + encodeURI(searchFields);
  3. }

五、IE9浏览器上传文件

IE9浏览器是不支持FormData()格式上传文件的,当执行到var formData = new FormData();这行代码时就会报错。为了不破坏之前的代码,前台和后台一般会再写一套针对IE9浏览器的文件上传的代码

 

  1. <script type="text/javascript" src="${CDNRoot}/template/tongan/statics/js/jquery.form.js"></script>

 

  1. <form action="${webRoot}/member/paircoderelation/paircoderelation/upload.ac" enctype="multipart/form-data" method="post" id="_upload_from" >
  2. <div class="_view_line">
  3. <span class="_view_line_lable">上传附件:</span>
  4. <input class="excle_file" type="file" accept=".xlsx;" name="excleFile"/>
  5. </div>
  6. <div class="_view_line">
  7. <input onclick="uploadFile();" class="import_upload_btn" type="button" value="上传文件"/>
  8. </div>
  9. </form>

 

  1. //1.导入(上传文件)
  2. function uploadFile() {
  3. var ver = getBrowserType();
  4. if(ver=="IE6" || ver=="IE7" || ver=="IE8" || ver=="IE9"){
  5. console.log('文件file=>',$('.excle_file').val());
  6. var file = $('.excle_file').val();
  7. if(file != ''){
  8. var options = {
  9. url :webPath.webRoot + "/member/paircoderelation/paircoderelation/upload.bin",// 跳转到 action
  10. dataType:'text/html',
  11. success : function (data) {
  12. window.location.href = webPath.webRoot + "/module/member/xxxxx.ac";
  13. },
  14. error : function() {
  15. showAlert("导入excel失败", "error");
  16. console.log('报错------')
  17. }
  18. };
  19. $('#_upload_from').ajaxSubmit(options);
  20. }
  21. }else{
  22. var formData = new FormData();
  23. if ($('.excle_file')[0].files[0] == null) {
  24. showAlert("请选择Excle文件", "error");
  25. return;
  26. }
  27. formData.append("excleFile", $('.excle_file')[0].files[0]);
  28. $.ajax({
  29. type: "post",
  30. url: webPath.webRoot + "/xxxxxx.json",
  31. data: formData,
  32. processData: false,
  33. contentType: false,
  34. success: function (data) {
  35. console.log(data.errors);
  36. },
  37. error: function (XMLHttpRequest, textStatus) {
  38. }
  39. });
  40. }
  41. }

前台判断是否是IE9一下版本的浏览器,如果是,就使用Form表单ajaxSubmit()形式上传

注意ajaxdataType要写成是‘text/html,不能是‘json’。

 

原文链接:http://www.cnblogs.com/husfBK/p/13962933.html

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

本站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号