打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
项目开发中的多浏览器兼容感想

     最近在实习的公司做了一个用户注册管理系统的系统,因为这个小项目是我单独负责的,部署到公司的服务器上,出现了一些浏览器的适配问题。逼到最后,我们降低了用户管理界面的需求,让其只支持火狐和Chorme及其支持它们内核的浏览器。客户注册页面实现了支持IE,火狐,Chrome等主流浏览器。下面谈谈遇到的小坑。

   首先是发ajax请求给后台,我用的最原始的提交方式,最后实现从后台取到一段json填充表格。

function createXMLHttpRequest()
{
    var xmlHttp=false;
    if (window.ActiveXObject) {                         //在IE浏览器中创建XMLHttpRequest对象
  try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(e) {
      try {
          xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(ee) {
    xmlHttp=false;
      }
  }
    } else if (window.XMLHttpRequest) {                //在非IE浏览器中创建XMLHttpRequest对象
  try {
      xmlHttp = new XMLHttpRequest();                      
  } catch(e) {
      xmlHttp=false;
  }
    }
    
    return xmlHttp;
}

 

 xmlhttp=createXMLHttpRequest();        //调用创建XMLHttpRequest对象的方法
     xmlhttp.open("post","sm");    //向服务器端发送请求
     xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
     xmlhttp.send(data);

      看来IE的确是个特殊的存在,它是所有前端开发的眼中钉,肉中刺。国内浏览器大多采用奇怪的双内核模式,如360浏览器就采用IE和Chrome双内核,好像到网银支付时自动转换到成IE内核,实在是蜜汁转换。后面还有个bootstrap datetimepicker插件不支持火狐浏览器,后面改了下插件源码:

将第112行报错处改为this.defaultTimeZone = 'GMT '+(new Date()).getTimezoneOffset()/60;

实现了日期选择插件多浏览器兼容

 

后面还有xmlhttp在服务器端应用send方法出现错误的现象,正在着力解决。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
ASP.NET 利用AJAX实现搜索提示(上)
兼容firefox3,ie,firefox2的xmlhttp请求写法
AJAX - 创建 XMLHttpRequest 对象
JS实现AJAX请求
AJAX XMLHttpRequest 对象
[XML]window.XMLHttpRequest与window.ActiveXObject
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服