ボタンのある Flash ムービーが埋め込まれた HTML ページがあります。フラッシュ内のこのボタンは、lnkEmail のクリック イベントを呼び出します。実際には新しいページへの移動を停止するはずですが、event.preventDefault(); イベントハンドラーから false を返すことは、私にとってはうまくいかないようです。誰でも洞察を提供できますか?
以下の例は Chrome で動作していますが、IE 7 と FF では失敗します。これらのブラウザでは、オブジェクト [オブジェクト] を本文として空白のページにリダイレクトし、FF では、Flash ムービー内から実行する JavaScript コードに URL が設定されています。(例: "javascript:jQuery('#lnkEmail').click();")
以下は、Flash ActionScript のコードです。
cmdDemo.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
navigateToURL(
new URLRequest(
"javascript:jQuery('#lnkEmail').click();"
),
"_self"
);
}
含まれている HTML ページには、次のスクリプトと要素があります。
<script type="text/javascript">
$(function(){
$.nyroModalSettings({
debug: true
});
$('#lnkEmail').click(function(event) {
event.preventDefault();
$.nyroModalManual({
url: 'demoRequest.aspx?Type=4'
});
return false;
});
});
</script>
そして後で同じファイルで:
<div id="box_stage_home">
<script type="text/javascript">
$(document).ready(function() {
$('#HomeAnimation').flash({
swf: 'Flash/index_page.swf',
height: 288,
width: 686,
wmode: 'transparent'
});
});
</script>
<div id="HomeAnimation"><!--IE 6.0--></div>
<a href="emailSend.aspx?Type=4" id="lnkEmail"> </a>
</div>