h2v.js:IE「互換表示モード」時の動作を変更しました。

さて、拙作 h2v.js 。縦書きレイアウトのWebページを実現するための JavaScript です。

動作するブラウザとして、
  • FireFox 3.5+
  • Safari 3+
  • Google Chrome
  • Internet Explorer 8+
  • Opere 10.5+
を謳っているわけですが、IE 8 / 9 で互換表示がオンの場合、スクリプト側で「この IE のバージョンは 7 である」と判断して、縦書きへの変換を行わない(IE 7だとレイアウトがずれてしまうので)…という仕様でした。

でも本当のところ、そのブラウザは IE 8 / 9 であるわけで、実際には縦書き変換を行っても差し支えない、つまり縦書きに変換してもレイアウトがズレることは無いわけです。

実力が発揮できずに勿体ない。

というわけで ver 1.5.0 では、この互換表示モード時の動作を変更して、「互換モードのオン / オフに関わらず、IE 8 あるいは IE 9 からのアクセスであれば縦書き変換を実行する」という動作をするようにしました。

要するに、IE のバージョンを、ユーザエージェントで判別するのではなく、ドキュメントモードで判別するように変更したのです。

→ IEの互換表示 / ブラウザモード / ドキュメントモードについて、詳しくはこちらの記事を参照してみてください。

お使いの h2v.js または h2v-min.js を最新バージョンと入れ替えることによって、そのように動作するようになります。

但し!

h2v.js を走らせるページのソースに、若干の変更が必要です。
htmlソースのヘッダ部分( <head>〜</head> )に、以下のmetaタグを書き加えてください。

  <meta http-equiv="X-UA-Compatible" content="IE=Edge" />

外部JavaScriptファイルや外部スタイルシートを読み込むタグよりに記述するのが安全です。

ということで。

カテゴリ: