品牌設計
Hi,are you ready?

準備好開始了嗎?
那就與我們?nèi)〉寐?lián)系吧

有一個品牌項目想和我們談談嗎?您可以填寫右邊的表格,讓我們了解您的項目需求,這是一個良好的開始,我們將會盡快與你取得聯(lián)系。當然也歡迎您給我們寫信或是打電話,讓我們聽到你的聲音!

PID派點互動

地 址:廣州市天河區(qū)金慧路88號11棟138單元(華南農(nóng)業(yè)大學內(nèi))

電 話:+020- 3855 0205 3855 0745

傳 真:+020-3855 0745

E-mail:925774558@qq.com

填寫您的項目信息

captcha

如何解決網(wǎng)站開發(fā)中瀏覽器兼容性問題?

標簽:網(wǎng)站開發(fā),企業(yè)網(wǎng)站開發(fā),廣州網(wǎng)站開發(fā),網(wǎng)站開發(fā)公司

在網(wǎng)站開發(fā)中,瀏覽器兼容性問題是每個開發(fā)人員所必須要面對的。由于我們使用的終端設備越來越多,各種瀏覽器的兼容性問題顯得尤為重要。如果不兼容,就會影響到網(wǎng)站的瀏覽,所以我們要重視不同瀏覽器的兼容性問題。這篇文章主要介紹如何解決網(wǎng)站開發(fā)中瀏覽器兼容性問題,感興趣的小伙伴們一定要看完!


網(wǎng)站瀏覽器兼容性問題及解決方式:


1.object-fit在ie11和edge中不兼容,可以一些css hacks

使用background-size和background-position替換object-fit設置圖片的樣式

<img class="loadingImage" src="url"/>

.loadingImage {

    width: 100%;

    height: 100%;

    transition: all 1s ease;

    object-fit: cover;

  }

上述代碼中可以修改為如下:

<div class="loadingImage"></div>

.loadingImage {

    width: 100%;

    height: 100%;

    background-size: cover;

    background-position: center;

    background-image: url(url);

}

對于視頻播放,object-fit:cover可以解決視頻不會隨著屏幕縮放的問題

<video class="video"></video>

.video {

  width: 100%;

  height: auto;

  position: relative;

  left: 50%;

  top: 50%;

  transfORM: translate(-50%, -50%);

  object-fit: cover;

}

可以使用如下CSS設置video標簽,解決object-fit不兼容ie和edge的問題

<video class="video"></video>

.video {

  width: 100%;

  height: auto;

  position: relative;

  left: 50%;

  top: 50%;

  transform: translate(-50%, -50%);

  object-fit: fill;

}

2.window.onload事件會在圖片等資源加載完成后執(zhí)行方法,但是它不會檢測視頻資源是否加載完成,可以使用如下代碼檢測視頻是否加載完成


<video id="video"></video>

let video = document.getElementById('video')

if (video.readyState === 4) {

    console.log('finish!')

}

3.css的transition執(zhí)行完成后會觸發(fā)transitionend事件,但是存在兼容性,可以使用下面代碼解決瀏覽器間的兼容性

function checkTransitionEvent() {

  var el = document.createElement('div')

  var transitions = {

    'transition':'transitionend',

    'OTransition':'oTransitionEnd',

    'MozTransition':'transitionend',

    'WEBkitTransition':'webkitTransitionEnd'

  }


  for(t in transitions){

      if( el.style[t] !== undefined ){

          return transitions[t];

      }

  }

}

4.onwheel事件兼容性

support() {

  let support = "onwheel" in document.createElement("div") ? "wheel" : // Modern browsers support "wheel"

    document.onmousewheel !== undefined ? "mousewheel" : // Webkit and IE support at least "mousewheel"

    "DOMMouseScroll";

  return support

},

5.wheel事件的wheelDelta和detail屬性在不同瀏覽器下值不同,可以使用如下代碼對其進行normalize

var wheelDistance = function(evt){

  if (!evt) evt = event;

  var w=evt.wheelDelta, d=evt.detail;

  if (d){

    if (w) return w/d/40*d>0?1:-1; // Opera

    else return -d/3;              // Firefox;         TODO: do not /3 for OS X

  } else return w/120;             // IE/Safari/Chrome TODO: /3 for Chrome OS X

};

var wheelDirection = function(evt){

  if (!evt) evt = event;

  return (evt.detail<0) ? 1 : (evt.wheelDelta>0) ? 1 : -1;

};

6.requestAnimationFrame兼容性

let cancelAnimationFrame = window.cancelAnimationFrame 

  || window.mozCancelAnimationFrame 

  || function(id) { clearTimeout(id) };

let requestAnimationFrame = window.requestAnimationFrame 

  || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame 

  || window.msRequestAnimationFrame

  || function (callback) { return setTimeout(callback, 1000 / 60) };

以上就是網(wǎng)站開發(fā)過程中,網(wǎng)站瀏覽器兼容性常碰到的一些問題,我們在網(wǎng)站開發(fā)過程中要多總結(jié),多嘗試,解決各種兼容性的問題。

更多網(wǎng)站開發(fā)廣州網(wǎng)站開發(fā)、網(wǎng)站開發(fā)公司企業(yè)網(wǎng)站開發(fā)等相關需求,歡迎您咨詢派點互動!

返回列表
在線溝通

Are you interested in ?

感興趣嗎?

有關我們服務的更多信息,請聯(lián)系

135 7039 2915 李先生

與我們合作

與派點合作,您將會得到更成熟的網(wǎng)站建設服務。我們以客戶至上,同時也相互挑戰(zhàn),力求呈現(xiàn)最好的網(wǎng)站建設成果。

品牌顧問熱線(李生):

+135 7039 2915

TOP

QQ客服

免費電話