intersectionobserver.json 6.37 KB
{
  "title":"IntersectionObserver",
  "description":"API that can be used to understand the visibility and position of DOM elements relative to a containing element or to the top-level viewport. The position is delivered asynchronously and is useful for understanding the visibility of elements and implementing pre-loading and deferred loading of DOM content.",
  "spec":"https://www.w3.org/TR/intersection-observer/",
  "status":"wd",
  "links":[
    {
      "url":"https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API",
      "title":"MDN Web Docs - Intersection Observer"
    },
    {
      "url":"https://github.com/w3c/IntersectionObserver/tree/master/polyfill",
      "title":"Polyfill"
    },
    {
      "url":"https://developers.google.com/web/updates/2016/04/intersectionobserver",
      "title":"Google Developers article"
    }
  ],
  "bugs":[
    {
      "description":"[Chromium](https://bugs.chromium.org/p/chromium/issues/detail?id=833725): In a background tab, IntersectionObserver does not trigger its callback."
    }
  ],
  "categories":[
    "DOM",
    "JS API"
  ],
  "stats":{
    "ie":{
      "5.5":"n",
      "6":"n",
      "7":"n",
      "8":"n",
      "9":"n",
      "10":"n",
      "11":"n"
    },
    "edge":{
      "12":"n",
      "13":"n",
      "14":"n",
      "15":"a #3",
      "16":"y",
      "17":"y",
      "18":"y"
    },
    "firefox":{
      "2":"n",
      "3":"n",
      "3.5":"n",
      "3.6":"n",
      "4":"n",
      "5":"n",
      "6":"n",
      "7":"n",
      "8":"n",
      "9":"n",
      "10":"n",
      "11":"n",
      "12":"n",
      "13":"n",
      "14":"n",
      "15":"n",
      "16":"n",
      "17":"n",
      "18":"n",
      "19":"n",
      "20":"n",
      "21":"n",
      "22":"n",
      "23":"n",
      "24":"n",
      "25":"n",
      "26":"n",
      "27":"n",
      "28":"n",
      "29":"n",
      "30":"n",
      "31":"n",
      "32":"n",
      "33":"n",
      "34":"n",
      "35":"n",
      "36":"n",
      "37":"n",
      "38":"n",
      "39":"n",
      "40":"n",
      "41":"n",
      "42":"n",
      "43":"n",
      "44":"n",
      "45":"n",
      "46":"n",
      "47":"n",
      "48":"n",
      "49":"n",
      "50":"n",
      "51":"n",
      "52":"n d #1",
      "53":"n d #1",
      "54":"n d #1",
      "55":"y",
      "56":"y",
      "57":"y",
      "58":"y",
      "59":"y",
      "60":"y",
      "61":"y",
      "62":"y",
      "63":"y"
    },
    "chrome":{
      "4":"n",
      "5":"n",
      "6":"n",
      "7":"n",
      "8":"n",
      "9":"n",
      "10":"n",
      "11":"n",
      "12":"n",
      "13":"n",
      "14":"n",
      "15":"n",
      "16":"n",
      "17":"n",
      "18":"n",
      "19":"n",
      "20":"n",
      "21":"n",
      "22":"n",
      "23":"n",
      "24":"n",
      "25":"n",
      "26":"n",
      "27":"n",
      "28":"n",
      "29":"n",
      "30":"n",
      "31":"n",
      "32":"n",
      "33":"n",
      "34":"n",
      "35":"n",
      "36":"n",
      "37":"n",
      "38":"n",
      "39":"n",
      "40":"n",
      "41":"n",
      "42":"n",
      "43":"n",
      "44":"n",
      "45":"n",
      "46":"n",
      "47":"n",
      "48":"n",
      "49":"n",
      "50":"n",
      "51":"a #3",
      "52":"a #3",
      "53":"a #3",
      "54":"a #3",
      "55":"a #3",
      "56":"a #3",
      "57":"a #3",
      "58":"y",
      "59":"y",
      "60":"y",
      "61":"y",
      "62":"y",
      "63":"y",
      "64":"y",
      "65":"y #4",
      "66":"y #4",
      "67":"y #4",
      "68":"y #4",
      "69":"y #4",
      "70":"y #4"
    },
    "safari":{
      "3.1":"n",
      "3.2":"n",
      "4":"n",
      "5":"n",
      "5.1":"n",
      "6":"n",
      "6.1":"n",
      "7":"n",
      "7.1":"n",
      "8":"n",
      "9":"n",
      "9.1":"n",
      "10":"n",
      "10.1":"n",
      "11":"n",
      "11.1":"n",
      "12":"n",
      "TP":"n"
    },
    "opera":{
      "9":"n",
      "9.5-9.6":"n",
      "10.0-10.1":"n",
      "10.5":"n",
      "10.6":"n",
      "11":"n",
      "11.1":"n",
      "11.5":"n",
      "11.6":"n",
      "12":"n",
      "12.1":"n",
      "15":"n",
      "16":"n",
      "17":"n",
      "18":"n",
      "19":"n",
      "20":"n",
      "21":"n",
      "22":"n",
      "23":"n",
      "24":"n",
      "25":"n",
      "26":"n",
      "27":"n",
      "28":"n",
      "29":"n",
      "30":"n",
      "31":"n",
      "32":"n",
      "33":"n",
      "34":"n",
      "35":"n",
      "36":"n",
      "37":"n",
      "38":"a #3",
      "39":"a #3",
      "40":"a #3",
      "41":"a #3",
      "42":"a #3",
      "43":"a #3",
      "44":"a #3",
      "45":"y",
      "46":"y",
      "47":"y",
      "48":"y",
      "49":"y",
      "50":"y",
      "51":"y",
      "52":"y",
      "53":"y"
    },
    "ios_saf":{
      "3.2":"n",
      "4.0-4.1":"n",
      "4.2-4.3":"n",
      "5.0-5.1":"n",
      "6.0-6.1":"n",
      "7.0-7.1":"n",
      "8":"n",
      "8.1-8.4":"n",
      "9.0-9.2":"n",
      "9.3":"n",
      "10.0-10.2":"n",
      "10.3":"n",
      "11.0-11.2":"n",
      "11.3-11.4":"n",
      "12":"n"
    },
    "op_mini":{
      "all":"n"
    },
    "android":{
      "2.1":"n",
      "2.2":"n",
      "2.3":"n",
      "3":"n",
      "4":"n",
      "4.1":"n",
      "4.2-4.3":"n",
      "4.4":"n",
      "4.4.3-4.4.4":"n",
      "67":"y"
    },
    "bb":{
      "7":"n",
      "10":"n"
    },
    "op_mob":{
      "10":"n",
      "11":"n",
      "11.1":"n",
      "11.5":"n",
      "12":"n",
      "12.1":"n",
      "46":"y"
    },
    "and_chr":{
      "67":"y"
    },
    "and_ff":{
      "60":"y"
    },
    "ie_mob":{
      "10":"n",
      "11":"n"
    },
    "and_uc":{
      "11.8":"a #3"
    },
    "samsung":{
      "4":"n",
      "5":"a #3",
      "6.2":"a #3",
      "7.2":"y"
    },
    "and_qq":{
      "1.2":"n"
    },
    "baidu":{
      "7.12":"n"
    }
  },
  "notes":"",
  "notes_by_num":{
    "1":"Enabled in Firefox by setting the `about:config` preference `dom.IntersectionObserver.enabled` to true",
    "2":"\"Preliminary\" support as feature is still in development",
    "3":"`isIntersecting` property of `IntersectionObserverEntry` was not implemented, returning `undefined`",
    "4":"IntersectionObserver does not trigger its callback in a Chrome background tab"
  },
  "usage_perc_y":64.45,
  "usage_perc_a":9.64,
  "ucprefix":false,
  "parent":"",
  "keywords":"",
  "ie_id":"intersectionobserver",
  "chrome_id":"5695342691483648",
  "firefox_id":"intersection-observer",
  "webkit_id":"specification-intersection-observer",
  "shown":true
}