Подавить событие щелчка SWF в IE, вместо этого следовать тегу привязки
Вопрос
Сценарий:У вас есть SWF-файл со встроенным событием щелчка, которое переводит вас на определенную веб-страницу.Вы хотите использовать этот SWF-файл (исходный код недоступен), но событие щелчка приведет вас на другую веб-страницу.Обертывание встроенного SWF в тег привязки и установка для SWF значения wmode=transparent, похоже, работает только в FF, а не в IE, и, поскольку рассматриваемый веб-сайт обслуживает неподкованную в технологиях аудиторию, совместимость с IE очень важна.
Какие настройки необходимо изменить, чтобы тег привязки учитывался браузером?
Решение
Создайте собственное флэш-приложение, которое встроит основной SWF-файл и поместит поверх него прозрачный спрайт для захвата щелчков мыши.Вы можете передать целевой URL-адрес в качестве параметра.
Другие советы
Если бы вы задали этот вопрос несколько месяцев назад, я бы посоветовал вам поместить прозрачный GIF-файл перед SWF, но в наши дни это можно расценить как кликджекинг и отсутствие скриптов, и некоторые антивирусные инструменты могут прийти в ярость, когда увидят это.(а может и нет, поскольку это прозрачное изображение будет непосредственно в <a>
тег, и если swf "случайно" окажется под ним, что ж...ничего страшного)
Попробуйте использовать очень высокий z-индекс для кликабельной части.По умолчанию Flash в IE размещается очень высоко в порядке стека, поэтому все клики по умолчанию переходят к нему.Судя по http://www.webmasterworld.com/css/3639440.htm, 99 должны это сделать, но помните, что фактический z-индекс, используемый Flash, мог измениться со времени этого сообщения (если для z-индекса существует максимальное значение, они могли бы использовать его сейчас, что сделало бы это невозможным - это будет зависеть от реализация, я считаю).
Также протестируйте с другими браузерами И в других операционных системах.Поведение может отличаться.
В IE8 появилась новая защита от кликджекинга, но я не думаю, что это повлияет на этот сценарий.Возможно, вы захотите посмотреть http://blogs.msdn.com/ie/archive/2009/01/27/ie8-security-part-vii-clickjacking-defenses.aspx прежде чем решить пойти по этому пути, на всякий случай.