雇われWebデザイナー、SWDのサイトです。なにも目指してません。すみません。

2007

06/27

IE7:Objectタグ内をgetElementsByTagName('param')で拾うと具合が悪い? この記事をはてなブックマークに登録 この記事をクリップ! Yahoo!ブックマークに登録 Buzzurlにブックマーク
CATEGORY:,, TAG:,
MT復帰の際に過去の一部の記事で正常に表示できないものがあるようです。
閲覧数の多い記事から少しずつ直していこうと思いますがすべての記事の復旧は難しいと思います。
わざわざお越しの方には申し訳ありませんがご容赦ください。

以前に公開しました
IE_objectFix.js Ver.0.1
をさっそくアップデートしました。

IE_objectFix.js Ver.0.2 

今回のアップデートでは、タイトルにもありますとおり
IE7での不具合が確認されましたので、その改修となります。

前バージョンを使用いただいている方は
最新版にアップデートしていただくことを
強く推奨します。

※1ページ内に複数のobjectタグがあるページで
 不具合が出る恐れがあります。

具体的には、

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/
cabs/flash/swflash.cab#version=5,0,0,0" width="225" height="240" id="hoge" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="hoge.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
</object>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/
cabs/flash/swflash.cab#version=5,0,0,0" width="225" height="240" id="hoge" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="hoge.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
</object>

こんな感じのHTMLがあったとして、
それをJavascriptで

var obj = document.getElementsByTagName('object'); alert(obj.item(0).getElementsByTagName('param').length);
みたいな感じでparamタグを取得しようとすると、 予想していた値は『4』なのに なぜか、2つのobjectタグ内のすべてのparamタグ要素分の 『8』が返ってくるのです。

もちろん、objectタグではなくこれが
divタグとかで同じようにlengthを求めると期待通り
『4』がかえってきます。 う~ん謎。

ちょっと調べてみたのですが、
解決策になりそうな記事がなく、やっと見つけたのが
Object getElementsByTagName IE7 Bug
でした。

バグかよ。

なので、getElementsByTagNameの使用は避けて
childNodesでobjectタグ内のノードを
一個ずつ取得していくように変更しています。

トラックバック(0)
トラックバックURL: http://www.heion.net/mt/mt-tb.cgi/73
コメント(0)
[PR]
_FEED
このRSSを取得する
_CATEGORY
_TAG
                                       
_ARCHIVE
2010年5月 (5)
2010年4月 (2)
2009年10月 (3)
2009年8月 (1)
2009年7月 (2)
2009年6月 (6)
2009年5月 (1)
2009年4月 (2)
2009年3月 (2)
2009年2月 (1)
2009年1月 (3)
2008年12月 (5)
_BLOG PARTS


あわせて読みたいブログパーツフィードメーター - 日々平穏スカウター : 日々平穏
OpenID対応しています OpenIDについて

このブログはクリエイティブ・コモンズでライセンスされています。