Добавить ссылку вокруг встроенного Flash файла
Я хочу сделать так, чтобы, когда я нажимаю в любом месте встроенного элемента Flash, он принимает меня к целевому URL.
Вот мой текущий код, который не дает желаемого эффекта:
<div class="contentdiv" style="margin:-72px 0 10px 0px; cursor:pointer;" onclick="location.href='http://example.com/';">
<object height="410" width="720">
<param name="movie" value="images/tri.swf">
<embed src="images/tri.swf" height="400" width="700">
</embed>
</object>
</div>
В настоящий момент пространство за файлом .swf доступно для ссылки, но элемент Flash не доступен для кликов.
Если правильная вещь - отредактировать файл .swf, пожалуйста, сообщите мне об этом. Я не считаю себя разработчиком Flash, но есть ли какие-либо ресурсы для того, с чего начать, или как сделать что-то такое с существующим .swf файлом?
Любые предложения очень ценятся!
Ответы
Ответ 1
Обновление после дополнительных исследований:
Этот вопрос задан раньше, а лучший ответ заключается в том, что вам нужно создать ссылку во флэш-памяти.
Обычно это выполняется динамически, передавая параметр (условно названный clickTAG) в .swf, чтобы указать, к какой ссылке.
В вашем случае (поскольку кто-то еще предоставил ваши swf файлы), я могу видеть 2 варианта:
- Возможно, ваш .swf-автор уже применил метод clickTAG (вы можете спросить их или просто попробовать на .swf посмотрите, работает ли он.)
- Вы можете создать файл флэш-обертки, который реализует clickTag, и загрузить его и отобразить ваш .swf файл. Я знаю, что это похоже на хак, но я не вижу других альтернатив.
Надеюсь, это поможет!
Я также видел что-то вроде этого используемое [edit: но я не могу заставить его работать! Googling предполагает, что это невозможно]
<a href="http://example.com/" target="_blank">
<object height="410" width="720"><param name="movie" value="images/tri.swf">
<embed src="images/tri.swf" height="400" width="700"></embed>
</object>
</a>
(Например здесь)
Ответ 2
У меня была такая же проблема, я нашел эту тему, но в итоге создал собственное решение.
Я добавил прозрачный элемент в ссылку, затем сделал его перекрытием вложенного swf
<a href="http://example.com/" target="_blank">
<object height="410" width="720"><param name="movie" value="http://www.theslap.com/swf/slap_logo.swf">
<embed src="http://www.theslap.com/swf/slap_logo.swf" height="400" width="700"></embed>
</object>
<i style="display:block; height: 410px; width: 720px; position: relative; z-index: 9; margin-top: -410px;"></i>
</a>
Примечание. Вероятно, вы должны включить css в отдельный файл для производственного кода.
Ответ 3
Поместите прозрачный файл .gif или .png поверх флэш-памяти, используя z-index, и просто привяжите это прозрачное изображение с вашим URL-адресом.
Ответ 4
Вы можете создать свой собственный swf (или заставить кого-то сделать это за вас), у которого есть кнопка, редактируемая с FlashVars
на сцене и который загружает вашу тему swf под этой кнопкой.
Я создал один для вас: Загрузить.
Вам просто нужно добавить два FlashVars, когда вы его вставляете:
-
url
- URL-адрес, который будет посещаться, если щелкнуть swf.
-
swf
- файл swf для загрузки.
Ответ 5
Я рассердился, чтобы решить проблему... Я пробовал несколько трюков, включая jquery и javascript.
Определенно, РЕШЕНИЕ, которое работает и работает во всех браузерах, является тем, что выше моего ответа.
Спасибо пользователю user2628529
<div class="containe">
<div style="position:absolute;"> <a href="http://www.sample.com" target="_blank" > <img src="http://www.sample.it/banner/trasparent-190-505.png"> </a> </div>
<div >
<object type='application/x-shockwave-flash' data='http://www.sample.it/banner/banner-one.swf' width='190' height='505'>
<param name='flashvars' value='clickTag=&clickTarget=_self' />
<param name='allowScriptAccess' value='always' />
<param name='movie' value='banner-one.swf' />
<param name='wmode' value='transparent' >
</object>
</div>
</div>
Ответ 6
Есть лучший способ найти меня
<div class="flash-wrap">
<a class="flash-link" href="#"></a>
<object type="application/x-shockwave-flash" data="flash.swf" width="180" height="220">
<param name="wmode" value="opaque">
<param name="movie" value="flash.swf" />
<param name="quality" value="high" />
</object>
</div>
.flash-wrap{
position: relative;
}
.flash-link{
position: absolute; top:0px; left:0px;
width:180px; /*Flash Size*/
height:220px;
/*background: url('images/0.gif') no-repeat;*/ /*You should uncommented this line for support old IE version.*/
}
https://gist.github.com/m-pokrovskii/6558817
Ответ 7
<div id="logo" >
<div id="linklogo" style="position:absolute;"><a href="http://www.gogle.com"><img src="transparent.png"></a></div>
<div id="flashlogo" >
<object type='application/x-shockwave-flash' data='1.swf' width='200' height='86'> <param name='flashvars' value='clickTag=&clickTarget=_self' /><param name='allowScriptAccess' value='always' /><param name='movie' value='1.swf' /><param name="wmode" value="transparent"></object>
</div>
конечно,
устраняет проблему во всех случаях
Ответ 8
Это сработало для меня:
<a target="_blank" href="{{ entity.link }}">
<object type="application/x-shockwave-flash" data="{{ entity.file.path }}?clickTAG={{ entity.link }}" width="120" height="600" style="visibility: visible;">
<param name="quality" value="high">
<param name="play" value="true">
<param name="LOOP" value="false">
<param name="wmode" value="transparent">
<param name="allowScriptAccess" value="true">
</object>
</a>
Ответ 9
Спасибо!
Теперь. Он работал
<div style="width: 400px; height: 100px;">
<a href="http://www.sample.com" target="_blank">
<object height="100" width="400"><param name="movie" value="1.swf">
<embed src="1.swf" quality="high" type="application/x-shockwave-flash" wmode="transparent" width="400" height="100" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="always"></embed>
</object>
<i style="display: block; height: 100px; width: 400px; position: relative;z-index: 9;margin-top: -102px;"></i>
</a>
</div>
Ответ 10
Вы не можете добавить ссылку на объект flash, но вы можете наложить прозрачное изображение со ссылкой поверх объекта flash.
Это мой пример:
<div style="position: relative;">
<div style="position: absolute;
left: 250px;
top: 0px;
z-index: 9999;">
<a href="#" onclick="location.href='http://terrazasmedicina.com.ar/hometerrazas.html'; return false;">
<img src="logoLinkTR.png" width="504" height="103"></a>
</div>
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','1024','height','106','src','banner','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','banner' ); //end AC code
</script></div>
В моем случае объект встраивается script, но он должен работать одинаково.
Вы должны обернуть в относительный div объект и div с изображением, а затем поместите как абсолютный div с выравниванием изображения по слева, сверху, правое и нижнее свойства и присвоение свойства z-index для перекрытия изображения.