プロが教えるわが家の防犯対策術!

http://oshiete.goo.ne.jp/qa/8158253.html
でご教示いただいたスクリプト、大変気に入っていたのですが、
会社の別の(他の人の)PCで動作しないことがわかり、落ち込んでいます。
そのPCは、IE8です。

私のPCのIE10で、「F12」キー押下で出てくるメニューに、「ブラウザモード」と「ドキュメントモード」とありますが、これらの選択肢によっては、動作したり、しなかったりします(FF22やChrome27では動作します。)。

そこで、上記の「F12」の「ブラウザモード」と「ドキュメントモード」を、総当りで徹底的にテストしました。

結果は以下の通りです。

「ブラウザモード」が、IE10、IE10互換表示、IE9、IE8、IE9、IE7、いずれに設定されていても、「ドキュメントモード」の方が、

・「標準」→動作する
・「Quirks」→動作する
・「IE9標準」→動作する
・「IE8標準」→動作しない
・「IE7標準」→動作しない
・「IE7標準」→動作しない
・「IE5 Quirks」→動作しない

要するに、今でもシェアの高そうなIE8、IE7で動作しないという結果です。
例えば、jQueryのバージョンを落とすなどで、解決させる方策はありますでしょうか。

繰り返しますが、ご回答いただいた仕掛けが大変気に入っているので、どうしてもこれを使いたいです。

なお、一昨日、こんな質問もさせていただきましたが、解決したと思ったのは勘違いでした。
http://oshiete.goo.ne.jp/qa/8161114.html

A 回答 (2件)

ざっと見ただけですが…




jQueryはバージョンによって対応ブラウザが変わっていますので、使用するブラウザのバージョンに基づいて確認した方がよいでしょう。
http://jquery.com/browser-support/

また、回答例のマークアップはHTML5になっていますが、HTML5対応のブラウザで無い場合はHTML4.01に書換えたほうがよろしそうです。
その際に、CSSのセレクタ及びスクリプトのセレクタも併せて修正が必要になるでしょう。

ブラウザのバージョンによってはCSSの兄弟セレクタ(+)が効かないものがあるかも知れませんので、その場合はセレクタ指定を修正する必要があるかも知れません。


(↑)くらいに後から出てきたものを無くせば、かなりのブラウザでも動作するのではないでしょうか?
他に使っていないのでしたら、いっそのことjQueryもはずしてしまうという手もあるかもしれませんね。
    • good
    • 0
この回答へのお礼

fujillinさん、ご回答ありがとうございました。

<section>など見慣れぬタグがあるとは思いましたが、
HTML5の記述だったのですね。
兄弟セレクタ(+)というのも記述的には初めてみたものです。

アドバイスを踏まえ、結果的には、<section>を<blockquote>に変更してみたら
周囲の一通りのブラウザで動作するようになりました。

ご教示ありがとうございました。非常に勉強になりました。

お礼日時:2013/07/08 23:51

過去の質問見ました。


 HTMLのDOCTYPEが、<!DOCTYPE html>になっていますが、これはHTML5を示すというより、ブラウザに対して「標準モードで動作させるためのスイッチ」の機能以上の意味はありません。
 そのために、HTML5で導入された新しい要素を認識できないブラウザでは、きちんと認識できない可能性があります。
 まえも、お答えしたような気がするのですが・・。直接ではなくサンプルかもしれません。

 後方互換を考える場合は、現状ではHTML4.01strictを標準モードで起動するようにDOCTYPE宣言をするのがベストです。
 すなわち
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
です。
 これで、IE6以降は[標準モード]で動作するはずです。

★気になったのですが、HTML5では、DIVはよほどのことがない限り使いません。
【引用】____________ここから
Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable. Use of more appropriate elements instead of the div element leads to better accessibility for readers and easier maintainability for authors.
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[4.5 Grouping content — HTML5( http://www.w3.org/TR/2012/CR-html5-20121217/grou … )]より
 簡単に訳すと『著者は、 div 要素は他に適した要素がないときなど、最後の最後の手段のとして使用することが強く推奨されます。もっと適切な要素を使うことによって、読者にはアクセシビリティ向上に、著者にとってはメンテナンス性の向上につながる。』
 これは、<div class="wrapper"><div class="content">のような使い方はするな!!と言っているのです。
<article>:そのブロックにheader,section,footerを持つと期待される、完結した記事
<section>:文書のアウトライン(簡単に言うと目次を作れる樹構造)を構成する集合
     基本的に見出しh1~h6を一つだけ持つと期待される
などを使います。
 HTML4.01でしたら、
<body>
 <div class="article">
  <div class="header"></div>
  <div class="section"></div>
  <div class="footer"></div>
 </div>
</body>
 とするはず
【引用】____________ここから
DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[The global structure of an HTML document (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
 class名の具体的な意味は「新しい要素( http://standards.mitsue.co.jp/resources/w3c/TR/h … )」
 こうしておくと、将来全面的にHTML5に変更する時代が来たとき、簡単に書き換えることが出来ます。
 英文ですが、その例が
Preparing for HTML5 with Semantic Class Names — Jon Tan 陳( http://v1.jontangerine.com/log/2008/03/preparing … )
 にあります。
    • good
    • 0
この回答へのお礼

ORUKA1951さん、ご教示ありがとうございました。

<!DOCTYPE html>がHTML5(標準モードで動作させるためのスイッチ)とは知りませんでした。

過去質問に書きましたように、
CMSのBODY内しか編集権限がないため<!DOCTYPE>部分は書き換えられないのですが
No1さんのお礼に書いたとおり、sectionをblockquoteに書き換えて
取り急ぎ今回は動作を確保できたようです。

divを使わない件も知りませんでした。
いろいろと非常に勉強になりました。ありがとうございました。

#1さん、#2さんとのベストアンサーにしたいのですが、今回は先にご回答いただいた#1さんへという
ことでご容赦下さい。本当にありがとうございます。

お礼日時:2013/07/08 23:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!