解決済

IEだけ動作してくれません(x_x;)

以下のHTMLをローカルで実行してみました。
<html>
<head>
<script language="javascript">
<!--
function sample(){
var display=document.getElementById("mtoko");
display.innerHTML='<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/IZrG35mCMXI"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/IZrG35mCMXI" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>';
}
//-->
</script>
<title>test</title>
</head>
<body>
<input type="button" value="しるし" onClick="sample()">
<div id="mtoko"></div>
</body>
</html>
FirefoxとOperaではうまくいくのですが、IEだとだめです。
innerHTMLで使えないタグとかあるのでしょうか…?

2006-12-28 14:24の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
Ads By Google

回答(1)

1.

2006-12-29 04:48:05ベスト
えっと、ObjectのCLSIDが必要です。

最初のObjectの開始タグ↓

<object width="425" height="350">

↑にCLSID属性を追加して↓

<object width="425" height="350" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">

・・・と、すれば大丈夫ですよ。多分。

うわっ、完璧です。すっきり解決です♪
ほんとにありがとうございましたm( _ _ )m

※YouTubeをフツーに貼る分にはclassidがなくても大丈夫なのに…不思議です^^;

Ads By Google

コメント(4)

2006-12-29 05:19:46

>>1
すばらしい。言われてみれば確かにclassidがついてないですねーw

ということで、#1の落書きは消しました。

2006-12-29 11:55:55

>>#2
鬼先生の最初のコメント、見たかったなぁ~。

また似たようなケースで質問させていただくかもしれませんので、その節はよろしくお願いします。

2006-12-29 15:53:58

解決してなによりです。

> YouTubeをフツーに貼る分にはclassidがなくても大丈夫なのに

そうですね。今Youtubeを見たらCLSIDの代わりに

type="application/x-shockwave-flash"

と、TYPE属性が入ってました。
これでもIEではうまく表示されるみたいだけど、今度は火狐で見れなくなるみたいですね。

Scriptによる後付けの場合は、やっぱりCLSIDの方が無難なのかもしれません。

2006-12-30 01:57:21

ほとんどの人がIEを使ってるとはいえ、徐々にシェアを伸ばす火狐を無視したサイト作りはできませんよね^^;
勉強になります(*- -)(*_ _)ペコリ

トラックバック

トラックバックURL: