開発開発

IE8の落とし穴 - JavaScript - setExpression()

IE8を使いだしてしばらくたった今、jQuery::cornerが動いていないことに気づいた。

jquery.corner.js内で

ds.setExpression('width', 'this.parentNode.offsetWidth');

となっているが、setExpressionはIE8ではなくなったとの事。

 

try {
  ds.setExpression('width', 'this.parentNode.offsetWidth');
}
catch(err) {}

として回避。

 

CSS Injectorの落とし穴(IE!)

CSS Injectorは、管理画面からCSSを管理できる便利なツールです。

通常、デザイナーやプログラマーはCSSをファイルで管理しますが、管理画面から管理できると結構便利です。

どのCSSを利用しているか(CSSタイトルに日本語を利用すると)一目瞭然、つい調子に乗って、どんどん細かく分けてゆきます。
と、またIEの洗礼を受けてしまいまます。IEは外部CSSファイルの読み込み数に制限があるようで、他のCSSファイルと合わせて20ファイル程度になったとたん、CSSの装飾が全く機能しなくなります。

CSSキャッシュを有効にしてファイル数を減らせばよいのですが、変更後、いちいちキャッシュクリアしなければならず、開発中の場合、かえって効率を下げてしまいます。

CSS Injector利用時は、CSS Injector単独のCSSファイル数を せいぜい5ファイル程度に抑えたほうが無難です。

CSSファイルのトータル数は、利用するモジュールやカスタマイズ内容でも変わってきますので、気をつけないとならないでしょう。

このページ の ページTOPDrupalサイト構築 の サイトマップDrupalサイト構築 の TOPページ