Internet Explorer 11 и выше: переключает интерактивность кликов в чистом SVG? - PullRequest
0 голосов
/ 05 июля 2018

Возможно ли при работе с чистым SVG (без Javascript и так далее) иметь пользователя в Internet Explorer 11 и более поздних версиях (без дополнительных подключаемых модулей браузера) нажать в одной части SVG, и, таким образом, переключить видимость другой части SVG? Если да, не могли бы вы создать MWE, который продемонстрировал бы такую ​​возможность? Я часами просматриваю интернет, но ничего не могу найти.

Конечной целью является загрузка такого SVG в Wikimedia Commons (где Javascript запрещен). Существуют такие файлы в отношении зависания (см. Некоторые примеры в https://commons.wikimedia.org/wiki/Category:Interactive_SVG),, но, насколько я знаю, не существует такого файла, который бы делал то же самое для нажатия .

Здесь , например, это файл, который обладает интерактивностью посредством нажатия , но, к сожалению, не работает в Internet Explorer 11 .

Примечание: мне жаль, что я не могу сам придумать MWE, так как пока не смог найти подсказку, какую технику использовать.

1 Ответ

0 голосов
/ 06 июля 2018

Это не будет осуществимо.

Требование, очевидно, включает изменение атрибутов svg в ответ на действия пользователя. Спецификации SVG имеют подраздел интерактивность , который детализирует поддержку событий (список адаптирован из подраздел 16.2 из вышеупомянутых спецификаций):

  • Зарегистрированные обработчики событий (н / д, требуется реализация JS)
  • Атрибуты событий для элементов в целом (нет данных, требуется реализация JS)
  • Атрибуты события на элементах анимации

Элементы анимации определяют динамическое поведение декларативным образом (т. Е. Без пользовательского кодирования) в соответствии со спецификациями SMIL , в частности событиями синхронизации . Фактически это метод, использованный в примере , процитированном в вопросе .

К сожалению, движок рендеринга IE11 Trident здесь не работает, не поддерживает элементы анимации .

Обновление

CSS-анимации здесь не спасают, так как они не поддерживаются IE 11 либо .

В любом случае CSS-анимации AFAIK не предоставляют средства для их запуска в ответ на действия пользователя без использования обработки событий JS.

...