• 締切済み

safari、firefoxでjavascript

はじめまして。 flashからjavascriptへ値を飛ばし、それを受け取ったHTML側でjavascriptを実行し、オブジェクトのステージサイズを変更するという物を作りました。 ところがIEでは正常に機能するのですが、safari、firefoxでは上手く機能しません、DOCTYPEを互換モードで宣言すれば機能するのですが、今度はIEで見たときにcssによるレイアウトが崩れてしまいます。 javascriptの書き換えが必要だと言うことは分かったのですが、知識に乏しく何をどう書き変えたらよいのか分りません。 ご教授の程お願い致します。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript"> <!-- function newSize(datoX,datoY) { if(document.all && !document.getElementById) { document.all['miFlash'].style.pixelWidth = datoX; document.all['miFlash'].style.pixelHeight = datoY; }else{ document.getElementById('miFlash').style.width = datoX; document.getElementById('miFlash').style.height = datoY; } } //--> </script> </head> <body> <div id="miFlash" style="position:relative; width:1px; height:1px; z-index:1"> <script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0','width','220','height','100%','align','','src','sidemenu','quality','high','scale','noscale','bgcolor','#FFFFFF','salign','LT','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','sidemenu' ); //end AC code </script> <noscript> <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="220" HEIGHT="100%" ALIGN=""> <PARAM NAME=movie VALUE="sidemenu.swf"> <PARAM NAME=salign VALUE="LT"> <PARAM NAME=quality VALUE=high> <PARAM NAME=scale VALUE=noscale> <PARAM NAME=bgcolor VALUE=#FFFFFF> <EMBED src="sidemenu.swf" quality=high scale=noscale bgcolor=#FFFFFF WIDTH="220" HEIGHT="100%" SALIGN="LT" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED> </OBJECT> </noscript> </div> </body> </html>

みんなの回答

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.1

単位が抜けとる。 document.getElementById('miFlash').style.width = datoX + 'px'; # XHTML の場合 CDATA 型になるため、スクリプトのコメントアウト不要。心配なら、外部に置く。

fuji800
質問者

お礼

おかげさまで解決しました! 本当にありがとうございました!!

関連するQ&A

専門家に質問してみよう