- 締切済み
FLASHを動的に入れ替えたい
こんにちは。悩みすぎて泥沼にハマってしまったので、こちらで質問させてください。 タイトル通り、FLASHを動的に入れ替えるJavaScriptを考えています。 画面上に「リンクA」「リンクB」を作って、 リンクAがクリックされたら、画面上にa.swfを。 リンクAがクリックされたら、画面上にb.swfを表示させるようなページです。 CSSのスイッチャーの様な感じで、swfを変化させます。 ----- ソース抜粋 ここから---------------------------- 【javascript】 function writeFlash(wFlag) { wFlash = ('<object><param name="movie" value="'+wFlag+'.swf" /><embed src="' +wFlag+ '.swf"></object>'); ↑↑↑中身だいぶ省略してますが、実際はここちゃんとしてます。 document.getElementById("txtflash").innerHTML = wFlash; } 【HTML】 <div id="txtflash"></div> <a href="javascript:writeFlash('a');">クリックA</a> <a href="javascript:writeFlash('b');">クリックB</a> ----- ソース抜粋 ここまで---------------------------- ほとんどのブラウザではちゃんと動作するのですが、 MacIEで実行すると、ブラウザが落ちてしまいます。 (最初からダメな時もあれば、何度かリンクをしてるうちに落ちる時もあります) どうやらinnerHTMLはMacIEではうまく動作しないようで・・・。 何かいい解決方法はないでしょうか。 教えてください。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- N_A_O
- ベストアンサー率66% (37/56)
http://www.openspc2.org/reibun/javascript/multimedia/011/index.html 上記参照。 これは、MacIEでのフラッシュのこの記述に対するバグでみたいで <A href="javascript:changeSWF('swfflie')"> は落ちる時がある。パソコンや状態によるけど。 それで前に色々やってみたら、 <img src="画像" onClick="javascript:changeSWF('swffile')">や <A href="#" onClick="javascript:changeSWF('swffile')">では落ちないんだよね。スクリプトにもよるんだろうけど。
- N_A_O
- ベストアンサー率66% (37/56)
<a href="#" onClick="javascript:writeFlash('a');">クリックA</a>
>MacIEでも動きが可能な方法はご存じないでしょうか。 恐らく無理。クロスに関する議論は数多くあるがソリューションと いうべきものを見たことがない。 【参考】 http://www.jagat.or.jp/sgml/qa/web.htm 18) Mac IE 5 における DOM1 19) Mac IE 5 における XML
お礼
回答ありがとうございます。 やはりMacIEでは難しいのですね・・・。 だんだん諦めがついてきました。
var Mac = (navigator.appVersion.indexOf("Mac") >-1); if(Mac) return false;
補足
回答ありがとうございます。 MacIEでも動きが可能な方法はご存じないでしょうか。 OSを判別してMacの時は対象外、というのは最後の切り札としたいので・・・。 よろしくおねがいします。
お礼
ご指摘ありがとうございます。 今回の記述は、省略例だと思っていただければ幸いです。