Страницы

Поиск по вопросам

воскресенье, 26 мая 2019 г.

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

Хотел посмотреть, какой результат получу при запуске следующего интерфейса DOM 3
alert(DOMImplementation.hasFeature("Core", "3.0"));
Однако ни при использовании Microsoft Edge, ни при использовании Google Chrome никакой реакции не получил.
Поддерживается ли этот интерфейс DOM 3 браузерами, или я что-то делаю не правильно?


Ответ

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.

Комментариев нет:

Отправить комментарий