jQueryとレンダリングブロック
jQueryに立ちはだかる2つの問題
うー、寒い。
急に寒い。昼はまだいい。朝晩の冷え込みがとても寒い。
そして、とにかく熱々のコーヒーが旨い。そんな師走です。
さて今日はjQueryの話。
jQueryってJavaScriptの便利な効果をすごく簡単に使えるので、すごく重宝しています。
JavaScriptのことがわからない人にどういうことか説明すると。
『走る』という動作を誰かにさせるとします。
JavaScriptの場合
- 左手を後方に振りながら右足を前に出せ
- その右足で強く地面を蹴れ
- 次に右手を後方に振りながら左足を前に出せ
- その左足で強く地面を蹴れ
- 以上の動作をすばやく繰り返せ
そのときに、こんな指示をだす必要があるのが従来のJavaScriptだとすると。
jQueryの場合
jQueryを使うと、これですんじゃうってこと。
まあ、便利。
こんな便利なjQueryですが大きく2つの問題点があります。
問題点
一つはセキュリティです。
どんな便利なプラグインだって、誰か人が作ったプログラムです。セキュリティホールは存在します。
セキュリティホールはプログラムを悪用しようとするハッカー(クラッカー)と呼ばれる人たちが『つけいる隙』です。
脆弱性なんて言葉を使ったりもしますね。
JQueryもその辺は適宜アップデートを行っていますので最新版を使うように心がけていれば、ある程度はヘーキです。
※あくまでもある程度ですので、絶対安心ってわけじゃないのでご注意ください。
WordPressのJQuery先日、ブログにも書いたのですがWordpressも3系のJQueryを使うようになりました。これまではJQueryにあれこれパッチ(補修)を施して1系で頑張ってきていましたがいよいよ3系にシフトとなりました。
レンダリングブロック
もう一つはレンダリングブロック。
「レンダリング」とはWebページを読み込んでブラウザで表示するプロセスのこと。
CSSやJavaScriptなどWebページのデザインやレイアウト、アニメーションなどの効果を受け持つファイルの多くは、headセクションに書き込まれています。
これらのファイルがダウンロードされてレンダリング時の時間のロスが発生する現象をレンダリングブロックなんていいます。
そして、このレンダリングをブロックする要因となる外部ファイルなどを「レンダリングブロックリソース」といいます。
JQueryは軽量なファイルとは言えません
JQuery本体やそれらを利用したJQueryプラグインも「レンダリングブロックリソース」となりえるのです。
表示の遅いサイトはイライラしますよね。
SEOにもよくない?
Webページの表示速度が検索結果の順位に影響を及ぼすという発言はGoogleの公式ブログでも明らかにされています。
SEOの観点からもレンダリングブロックはやはりネガティブな要素っていうことですね。
Webサイトに簡単に華やかな効果を与えるjQueryですが、プラグインによっては「レンダリングブロックリソース」となってサイトにダメージを与えているのかもしれないのです。
レンダリングブロックの回避方法はまた後ほど。
では。