• 品牌設計
    Hi,are you ready?

    準備好開始了嗎?
    那就與我們取得聯系吧

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

    PID派點互動

    地 址:廣州市天河區金慧路88號11棟138單元(華南農業大學內)

    電 話:+020- 3855 0205 3855 0745

    傳 真:+020-3855 0745

    E-mail:925774558@qq.com

    填寫您的項目信息

    如何解決網站開發中瀏覽器兼容性問題?

    標簽:網站開發,企業網站開發,廣州網站開發,網站開發公司

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


    網站瀏覽器兼容性問題及解決方式:


    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事件會在圖片等資源加載完成后執行方法,但是它不會檢測視頻資源是否加載完成,可以使用如下代碼檢測視頻是否加載完成


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

    let video = document.getElementById('video')

    if (video.readyState === 4) {

        console.log('finish!')

    }

    3.css的transition執行完成后會觸發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) };

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

    更多網站開發、廣州網站開發、網站開發公司、企業網站開發等相關需求,歡迎您咨詢派點互動!

    返回列表
    在線溝通

    Are you interested in ?

    感興趣嗎?

    有關我們服務的更多信息,請聯系

    135 7039 2915 李先生

    與我們合作

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

    品牌顧問熱線(李生):

    +135 7039 2915

    TOP

    QQ客服

    免費電話

    前上司聚会时遭同事侵犯