Поддержка обнаружения функций для фильтров SVG - PullRequest
2 голосов
/ 16 марта 2012

Мне нужно, чтобы функция определяла, поддерживает ли браузер фильтры svg (feGaussianBlur, если быть точным).Как мне пройти тестирование для этого?Safari, который не поддерживает фильтр, молча игнорирует фильтр.

Ответы [ 3 ]

4 голосов
/ 19 марта 2012

Возможно, вы также можете проверить перечисления, доступные на интерфейсах, например:

var supportsfilter = typeof SVGFEColorMatrixElement !== undefined && 
                     SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE==2;

Таким образом, вам не придется создавать новые элементы, как в https://stackoverflow.com/a/9767059/109374. Я не проверял, работает ли это так, как ожидается в Safari.

Обновление: Патч представлен модернизру: https://github.com/Modernizr/Modernizr/pull/531

2 голосов
/ 19 марта 2012

Я создал скрипку http://jsfiddle.net/yxVSe/, которая проверяет наличие свойств GaussianBlur.Скажем, у GaussianBlur есть метод setStdDeviation, мы проверяем наличие этого метода, когда в случае неудачи мы приходим к выводу, что текущий браузер не поддерживает этот фильтр.

Когда эта скрипка проверяется в текстах сафари,красным, а в Firefox он будет зеленым.

0 голосов
/ 10 января 2014

Я добавил небольшую модификацию для устаревшей ошибки Android

var supportsfilter = window['SVGFEColorMatrixElement'] !== undefined && SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...