Как определить совместимость Raphael.js в браузере клиента?

Какой самый простой и надежный способ проверить, поддерживает ли браузер / пользовательский агент / клиент библиотеку Raphael.js? Рафаэль использует Javascript для создания и управления векторной графикой SVG или, если SVG недоступен, но есть VML (например, в Internet Explorer версий с 6 по 8), он создает и контролирует эквивалентную графику с помощью VML.

Одним из методов может быть обнаружение функций SVG, а затем, если он недоступен, обнаружение функций VML. Есть старый вопрос 2009 года с ответами, включая код для обнаружения функций VML и SVG. Однако комментарии предполагают, что это может работать не во всех случаях, и я уверен, что с 2009 года многое изменилось. Кроме того, может быть более простой способ, характерный для Рафаэля.

Более простой альтернативой может быть использование некоторых внутренних флагов или функций Raphael. Он уже устанавливает переменные для того, работает ли он в режиме SVG или VML. Можно ли это использовать для надежного обнаружения «ни одного» условия?

Или, может быть, есть надежный подход, основанный на создании пустого объекта Raphael и тестировании его свойств или функций?


В общем, насколько мне известно, единственным распространенным браузером, несовместимым с Raphael, является стандартный браузер Android в версиях 1.x и 2.x, однако я бы предпочел использовать определение функций, а не определение версии браузера, если возможно (если нет веской причины, почему в данном случае это необычно лучшее решение).


person user56reinstatemonica8    schedule 09.01.2013    source источник


Ответы (1)


Ознакомьтесь с официальной документацией: http://raphaeljs.com/reference.html#Raphael.type

if (!Raphael.type) alert('Your browser does not support vector graphics!');
person Rango    schedule 09.01.2013
comment
На сегодняшний день это правильная ссылка dmitrybaranovskiy.github.io/raphael/reference. html # Raphael.type - person Chux; 12.07.2016