Event тега object после подгрузки svg контента внутри него
Добрый день.
Цель: заставить сделать редирект на главную по нажатию на лого Проблема: Лого подаётся в виде SVG анимационного элемента вставленного через тег object, который создаёт в своём контенте тело, который на прочь блокирует ивенты из основного тела. Сверху поставить ничего нельзя, иначе анимации не пройдёт. Теги href, onclick и прочие ивенты умирают когда мышка заходит в область объекта. Единственные таучи которые есть это вход и выход на элемент. Внутри элемента таучи образуют под страницу. Для чего нужен объект object - что бы была svg анимация http://194.58.46.24/master |
В HTML5 можно встраивать svg прям в HTML. Это решит твою проблему.
Правда, вроде бы не все браузеры, поддерживающие SVG, поддерживают SVG в HTML. Смотри caniuse.com |
Я вот только не понял, анимация сделана через JS или атрибуты анимации?
Какие особенности наблюдаются в случае <iframe/> и непосредственного включения? |
Встроить ссылку в SVG - не вариант? Не прокатит вариант с xlink:href="/" xlink:target="_top" или что-то вроде этого?
|
Цитата:
Попробую как с работы вернусь, но думаю эффект будет такой же, как и в случае с тем как работает сейчас. |
Цитата:
|
<object/> задействует внешний плагин, а при непосредственной вставке используется встроенный рендеринг. Но тут возможна ситуация когда встроенный анимацию умет, а плагин не умеет. Так что во всех случаях ничего не гарантировано.
Варианты: 1. Предоставить браузеру решать будет анимация или не будет. 2. Найти JS библиотеку реализующую анимацию. 3. Конвертировать в gif и делать подмену в зависимости от поддержки анимации. 4. Конвертировать в gif и забыть про svg. |
Цитата:
Цитата:
<object> и <iframe> являются своего рода контейнерами, все события остаются внутри них. Разницы между object и iframe почти нет. Варианта два: 1) Встроить ссылку внутрь SVG (возможно сработает предложенный мной вариант относительной ссылки) 2) Встроить SVG непосредственно в HTML (тогда вообще простор для манипуляций). |
Цитата:
|
Часовой пояс GMT +3, время: 15:47. |