
ポカの続き-Objectタグ使用時のIEのリンクは親Window内で開かない
ObjectタグでIEのリンクが親Window内で開かない
昨日の表示確認で大ポカしているワタシの続き。このサイトの右サイドバーにある、ランキングリンクで使用しているObjectタグの話。→現在はIframeに直しました。Object表示サンプルは以下
このOBJECTタグをFlashの埋め込みに利用している人も多いと思います。
OBJECTタグは、様々な形式のデータをページ内に埋め込むことができるタグで、imgタグ、iframeタグ、bgsoundタグ、embedタグ、appletタグの代わりとして汎用的使用ができる、優れもののタグ・・・・のはずなんですが・・・・
現状では、ブラウザの対応がイマイチで使えねータグと化しているわけです。特にIE。
IEでお越しでない方のためにこのサイトの該当部分をキャプチャ。
IEでの表示

Safariでの表示

Safariは、Konquererのレンダリングエンジン、KHTMLを元に開発されているので、未確認ですが、Konquererもご同様にスクロールバーがでるのではないかと。
Firefox2/3 Opera7UPでの表示

↑これが個人的にあらまほしき表示。Opera6ではスクロールバーはでませんが、フレーム枠がでます。
データの埋め込みは
<object data="データへのパス" type="ファイルタイプ" width="幅" height="高さ"></object>
こんな感じで使用するんですが、IEとSafariで、しょぼい感を増幅するスクロールバーがでてますでしょ。
最初ゲゲっと思ったんですが、でも、適度に目立つ気もする(注:参照)ので、そこは100歩譲ることに。
(注:悪目立ちするので、誰かクリックしてくれるかもしれないというさもしい思惑は見事にはずれてますので、真似しないように(笑))
※Objectタグで外部ファイルを読み込んだ時に出るスクロールバーを消したい人はこちら
問題はここから。
IEの場合、このOBJECTタグ内で読み込んだデータ内にある普通にHTMLで書いたリンクをクリックしても、Parent(親であるこのページ)で開かず、子オブジェクト(子フレーム)内で開くのですよ。
子ページの aタグのtarget属性 に_top,_parent どちらを書いてもだめ。javascript等で処理したくない場合、かろうじて、_blank で新規窓立てるしかないんです。そういうわけで、このリンク群は、ターゲット属性が_top、_blank の2種あって、IEでお越しのみなさんがリンクをクリックすると、新規窓が開いたり、子オブジェクト内で開いたり、という情けないことになります。
何でほったらかしになっとったかといいますとね、ハイ!
「忘れてた」
んです。target属性を混在させてみて、「やっぱダメねえ」とか思ったとこで、多分、仕事で急な直しかなんか、入ったんですね。
ワタシは仕事以外でIEを使用しない人で、過去、年間傘を10本以上置き忘れしたことがある程度には忘れっぽいです。(だから、大事なことは目立つとこにメモ貼りします)
ついでに、別のことに集中してる時は、他のことに全然目がいかない、よく言えば一点集中型、普通に言えば、シングルタスクのぶきっちょです。
かくして、このサイドバーのリンク処理は、もずのハヤニエ状態になった、、と。単直に「アホ」ですな。
この件は、IEのバグという意見もありますが、IE5.5、IE6、IE7すべてそうなります。
メジャーVerUPを2回繰り返してもfixされないようなものは、バグというより、もはや仕様では? と個人的には思います。
IE8ではどうなのよ、なんですが、β版のIE8、まだダウンロードしてません。8を早く試したい好奇心限りなくゼロでして。
正式リリースになってからでいいや状態。
このページのDoctypeは、XHTML 1.0 Transitional なので、フツーにiframeを使えるのに、そうしたくなかったのね。
(※XHTML 1.0 StrictやXHTML 1.1では、iframeは廃止)。
そういうわけで、gdgd云ってる間に、とっとと直せよ、おまえ、というのが正しい対処法なんですが、この際、このままにしようかと。
ここが直ったからといって特に影響もなし、ネットでは既出感たっぷりとはいえ、ブログでネタとして使えたことが何より収穫。
IEでObject使うとこーなるのよ、というサンプルとして、このまま置いておきます。
(仕事の関係者がこのサイトを見る確率は低い。ノープロブレムじゃ)
→追記:javascriptでのこの不具合解決法を記載するとともに、問題のサイドバーはiframe化しましたので、サンプルはこのページでご覧下さい。
他にも、実はモズのハヤニエ状態なことはあるんですが。
追記:
Objectタグ使用の際に出現するスクロールバーを消すには、読み込ませる外部ページがHTMLなら、その子ページのBODYに以下のスタイルを適用すると消えます。
body{
margin:0;
padding:0;
overflow:hidden;
border:none
}

ブログ最新エントリー
- アクセス感謝著作権フリー素材配布
- 無料CSSテンプレートの配布を開始しました
- Googleサイトリンク表示
- アブナイシスターズがホントにアブナイ
- クリック・反響率を上げるボタンデザインの秘訣
- 初心者OK雪の結晶の描き方
- 飯島愛さん、渋谷マンションで死去
- 超速!楽チン、雪の結晶画像の作り方
- お正月に便利な期間指定自動表示JavaScript
- 2008年12月Yahoo変動でTDPに
- 50代、孫もち暴走族つかまる
- 男性用ブラが楽天売れ筋1位。世界で話題に。
- WEBデザイナー不要論について-3
- WEBデザイナー不要論について-2
- WEBデザイナー不要論について-1
- MT4.1UPのカスタムフィールドで演算をする
- 無料ブログ画像一括アップロードツール集
- Gmail新機能後悔メール防止Mail Goggles
- 年寄りと子供の好む配色考
- Google Android携帯G1はiPhoneを超えるか?
ブログカテゴリー
- 画像制作初心者講座(Photoshop Illustrator Fireworks)
- WEBサイト制作お役立ちツール・サイト
- Webデザイナーのお仕事
- Webマーケティング.SEO.SEM.Adsense
- Javascript
- ホームページ用テンプレート
- ITニュース
- 今日の検索
- 忘備録
- サイトからのお知らせ
- WEBデザイナー日記


画像の中に見える文字を入力してください。