1

私はウェブサイトがインターネットエクスプローラで遅くなるようにする主な理由(CSSセレクタのグループ化、イメージサイズの縮小、イメージスプライトの使用など)を知る必要があります。 FF、クロムなど私のウェブサイトがIE上で非常に遅い主な理由は何ですか?

  1. これはJavascriptフレームワーク(つまりjQuery、extjs、prototype)の巨大な使用ですか?
  2. JSフレームワークに基づくプラグインを使用しているのはそれですか?
  3. core javascriptを使用し、jsフレームワークの使用を削除する必要がありますか?
  4. jQuery(document).ready()を使用しないでください。 jQueryフレームワークの場合?

私が知っているいくつかの質問のうち、これらについての知識が少ないために私が聞くことができなかった質問に答えてください。

私は自分のウェブサイトをIE(6,7,8)でうまく動作させる必要があります。 MSIEは2つの同時接続のデフォルトの制限を持っていたよう

おかげ

+4

です。 – crodjer

+0

haha​​ha良い答え:) – Bhupi

+0

1.あなたのサイトはどのバージョンのIEが遅いですか? 2.どのように遅いですか?ページ上に何かを表示するのが遅い?すべてのページを表示するのが遅い?ゆっくりとやり取りする? –

答えて

3

jQueryとは関係ありません。しかし、プラグインはヒットまたはミスしているため、IEで十分にテストされていない可能性があります。あなた自身の責任において使用したいと思います。

IEでDOM操作が非常に遅いです。 appendChild(またはinsertRow)を使用して複数のノードを追加すると(長いリストの場合は100+)、文字列を作成してinnerHTMLを1つ実行するよりもはるかに時間がかかります。

ノードへのアクセス方法にも注意してください。 IEは、クラス名でノードを取得するネイティブな方法を持っていないので、JQは、文書全体をループさ

$(".evenRows").hover(doSomething); 

:よう開発者には、あまりにも多くのjQueryに依存していると、そのクラス名を経由してノードを検索する傾向がありますそして、それはのように見える可能性があるため、正規表現を経由してチェックする必要があるすべての単一の要素とそのクラス名をチェック...:最後に、その改善にもかかわらず、IE8はまだ古いレンダリングエンジンを使用している

class="evenRows yellow foo bar" 

- IE6と同じです。アニメーションに夢中にならず、奇跡を期待しないでください。

2

あなたはシングルにJS-とCSS-ファイルをマージ、ページ(使用CSS-スプライトを構築するために必要とされる要求の数を最小限に抑える必要がありますファイル)

+1

これは、スクリプトのIE6 & 7;で非スクリプトのためにそれは一度に1つです。 IE8は一度に20のリソースをロードしますが、スクリプトは別々にロードします。 – mwilcox

+0

IE8以上では、サーバーごとに6つの並列接続が使用されます。 IE8 +は、スクリプトの実行中にCSS/Scriptのダウンロードをブロックしません。 – EricLaw

2

IEで処理を高速化する必要がある一方、Firebugを使用してリソースを消費する場所を探すことができます。 Yslowをインストールし、それはこのような一般的な質問に答えることは非常に困難である(YSlowのかFirebugの、1つを持っている)プロファイラの下にサイトを実行して、ボトルネック

を探し

  • がわかりますか見

    • 彼らは最速あり、すなわち - しかし、jQueryのはただのセレクタとして

      • 利用IDを可能な限りに覚えて、すべてを遅く1になることはほとんどありません$('#myid')
      • タグなしで.classセレクタを使用しないようにしてください。つまり、$('div.myclass')$('.myclass')の10倍の速さにすることができます。

        もっとtips for using jQuery

      ので、より優れた性能を実現しています。

  • 0

    以前のバージョンのIEでは、一般に、JavaScriptの実行速度がIEのそれよりも遅くなっています。

    関連する問題