美文网首页浏端兼容
浏端兼容-v1.0.0

浏端兼容-v1.0.0

作者: 一点金光 | 来源:发表于2019-07-28 01:38 被阅读0次
title: 浏端兼容
date: 2018-06-09 16:29:00
updated: 2018-06-10 12:00:00
categories:
- 网页开发
- 开发应用
tags:
- nodejs

关于如何解决浏览器脚本兼容的一些技术/经验分享

现在直接通过browserlist/browerfy/babel等直接进行兼容就行了,不再一一设置兼容问题。

事件监听。

let EventCompact = {
        //绑定
    on: function(ele, fn, str) {
        //火狐谷歌IE9+支持addEventListener  
        if(ele.addEventListener) { 
            ele.addEventListener(str, fn);
        } 
        //IE678支持attachEvent
        else if(ele.attachEvent) { 
            ele.attachEvent("on" + str, fn);
        } 
        //在addEventListener和attachEvent都不存在的情况下,用此代码  
        else {
            ele["on" + str] = fn;
        }
    },
        //移除
    off: function(ele, fn, str) {
        if(ele.removeEventListener) {
            ele.removeEventListener(str, fn);
        } else if(ele.detachEvent) {
            ele.detachEvent("on" + str, fn);
        } else {
            ele["on" + str] = null;
        }
    }
}

事件对象

function fixEvent(e) {
  var evt = (typeof e == "undefined") ? window.event : e;
  return evt;
}

来源元素

 function srcElement(e) {
  if (typeof e == "undefined") e = window.event;
  var src = document.all ? e.srcElement : e.target;

  return src;
}

鼠标坐标

function x(e) { //当前鼠标X坐标
  return Browser.isIE ? event.x + document.documentElement.scrollLeft - 2 : e.pageX;
}

function y (e) { //当前鼠标Y坐标
  return Browser.isIE ? event.y + document.documentElement.scrollTop - 2 : e.pageY;
}

缓存接口

//cookie get/set/remove
document.getCookie = function(sName) {
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i = 0; i < aCookie.length; i++) {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0])
      return decodeURIComponent(aCrumb[1]);
  }

  // a cookie with the requested name does not exist
  return null;
}

document.setCookie = function(sName, sValue, sExpires) {
  var sCookie = sName + "=" + encodeURIComponent(sValue);
  if (sExpires != null) {
    sCookie += "; expires=" + sExpires;
  }

  document.cookie = sCookie;
}

document.removeCookie = function(sName, sValue) {
  document.cookie = sName + "=; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
}

相关文章

  • 浏端兼容-v1.0.0

    关于如何解决浏览器脚本兼容的一些技术/经验分享 现在直接通过browserlist/browerfy/babel等...

  • 浏端检测-v1.0.0

    检测是何浏览器 检测是什么内核 检测是什么终端

  • 浏端操作-v1.0.0

    title: 浏端操作date: 2018-06-09 16:29:00updated: 2018-06-10 1...

  • browserslist使用手册

    网页样式浏览器兼容解决;查找目标浏端——解决哪些浏览器版本,node版本是我们想兼容的。 for css 工具 配...

  • doiuse使用手册

    使用can i use数据校验样式的浏端兼容。解决了这个问题——想知道这些样式是否兼容期望的那些浏览器版本,nod...

  • 样式兼容-v1.0.0

    关于如何解决浏览器样式兼容的一些技术/经验分享 解答思维? 样式兼容=客户需求=产品需求=哪些特性+哪些终端+哪些...

  • jQuery基础:样式

    什么是jQuery? 轻量级的Javascript库 核心是Javascript 不仅兼容了css3,还兼容各种浏...

  • css元素选择符

    1 通配符(*) css2 兼容浏览器版本 注: 示例 2 标签(类型)选择符(Element) css1 兼容浏...

  • jQuery介绍

    1. 轻量级的JavaScript库 2. 核心依然是JavaScript 3. 不仅兼容了CSS3,还兼容各种浏...

  • 小小葫芦商城-商品中心

    最近,兴收商城v1.0.0版的研发,后端和h5端的开发已经进入测试收尾阶段,后续会继续增加pc端、app端(and...

网友评论

    本文标题:浏端兼容-v1.0.0

    本文链接:https://www.haomeiwen.com/subject/kiayrctx.html