DOMImplementation - проверка версии DOM

364
07 января 2017, 15:55

Хотел посмотреть, какой результат получу при запуске следующего интерфейса DOM 3

alert(DOMImplementation.hasFeature("Core", "3.0"));

Однако ни при использовании Microsoft Edge, ни при использовании Google Chrome никакой реакции не получил.

Поддерживается ли этот интерфейс DOM 3 браузерами, или я что-то делаю не правильно?

Answer 1

DOMImplementation - это один из предоставляемых браузером интерфейсов, поэтому для вызова функций описываемых в этом интерфейсе необходим объект, который этот интерфейс реализует.

Такой объект определен в интерфейсе Document

interface Document : Node {
  [SameObject] readonly attribute DOMImplementation implementation;
  ...
}

Поэтому вызов должен выглядеть так:

alert(document.implementation.hasFeature("Core", "3.0"));

Но если обратиться к описанию этого метода:

The hasFeature() method must return true.

Note: hasFeature() originally would report whether the user agent claimed to support a given DOM feature, but experience proved it was not nearly as reliable or granular as simply checking whether the desired objects, attributes, or methods existed. As such, it should no longer be used, but continues to exist (and simply returns true) so that old pages don't stop working.

READ ALSO
Расширение хром

Расширение хром

Например, есть сайт site1com

351
Ошибка при сборке проекта

Ошибка при сборке проекта

Ошибка в модуле ttf2woff2 , но выполняется таск который только сжимает jsМожет кто сталкивался ? Или хотябы подскажите где искать проблему

451
Литералы с typeof “Undefined”

Литералы с typeof “Undefined”

Какие литералы вернут true?

358
Как сократить код на jQuery

Как сократить код на jQuery

Мой код работаетНо думаю, что как-то не так написал

421