Das Problem ist, dass der Blitz das Click-Ereignis wird Einfangen und nicht durch das DOM in einigen Browsern zu filtern. Es gibt keine spezifische Lösung dafür.
Es gibt zwei Lösungen, die ich kenne:
- Add-Code in Ihre SWF-Datei, die mit dem Klick befasst und öffnet die entsprechende URL
- Platz ein ‚Shim‘ unsichtbaren Link oben auf dem Flash Der Klick und die Links werden entsprechend erfasst. Beachten Sie, dass Sie nur 1 davon über Ihre Flash-Datei haben können. Wenn Sie also zwei Links in der Flash-Datei benötigen, funktioniert das nicht.
Beispiel # 2:
<div id="flashContainer">
<a id="shim" href="mylink.aspx"> </a>
<div id="flash">
<embed class="ads" src="swf/flash_banner.swf" width="315" height="100" wmode="opaque"></embed>
</div>
</div>
#flashContainer {
position: relative;
}
#flash {
z-index: 5;
}
#shim {
display: block;
position: absolute;
top: 0;
left: 0;
width: 315px;
height: 100px;
z-index: 10;
}
Aktualisiert
Beispiel # 2 ein div verwenden, mit jQuery Einhaken das Click-Ereignis:
<div id="flashContainer">
<div id="shim"></div>
<div id="flash">
<embed class="ads" src="swf/flash_banner.swf" width="315" height="100" wmode="opaque"></embed>
</div>
</div>
#flashContainer {
position: relative;
}
#flash {
z-index: 5;
}
#shim {
position: absolute;
top: 0;
left: 0;
width: 315px;
height: 100px;
cursor: hand; cursor: pointer;
z-index: 10;
}
Warum nicht ein Link anstelle eines div "den Klick richtig erfassen" - sonst stimme ich mit Ihrer Lösung – mikevoermans
Ein Link würde genauso gut funktionieren, nehme ich an, solange es 'display: block' und enthielt eine 'nbsp;' –
@ mikevoermans In der Tat, ich denke, der Link wäre eleganter, da es die Notwendigkeit für js entfernt - Antwort bearbeitet Ich habe es nicht getestet, aber es sollte auch funktionieren. Danke :) –