公式プラグインの「アルバム」はめちゃくちゃ重たい

公式プラグインの「アルバム」はめちゃくちゃ重たい

FC2ブログのあれこれ
2019/05/04 2
vanillaice (Akira)
vanillaice (Akira)
初心者向け トラブル対処 Education

結論から言うと 使わない方が良い と思います。

「アルバム」プラグインとは

FC2ブログではサイドメニュー(副情報)として色々なものを掲載できます。FC2ブログ内での名称は プラグイン ですよね。web一般の拡張機能のことではなく、FC2ブログ内だけで利用できる「最新記事」「最新コメント」などのことです。

数あるプラグインの中に アルバム というのがあり、これは公式プラグインですから発行主はFC2ブログ運営です。

このプラグインを表示するJSがめちゃくちゃ重たく、場合によってはページの正常な表示を阻害します。

JS というのはJavaScript(ジャバスクリプト)の略称で、他に スクリプト という呼び方もされます。

本旨の前に念の為補足説明。
「Java」「ジャバ」というのは JavaScriptとは違います。全く別のものです。一般的に「ジャバ」と言ったらこれのことです ↓

上のアイコンを目にしたことがあると思います。Java というのはoracle(オラクル)社が開発しているアプリケーションです。一方 JavaScript というのは各ブラウザが実装する(している)プログラミング言語です。JavaとJavaScriptでは大違い。Javaはサーバーサイド(サーバープログラム)、JavaScriptはクライアントサイド(端末プログラム)です。よく「脆弱性」の指摘をされるのはoracle JavaのことでJavaScriptではありません。

「Javaの動きが〜」「ジャバについて〜」と質問されると受けた側は「(JavaScriptではなく)Javaのことなんだな」と誤解してしまいます。JavaScriptのことを尋ねるのなら「JavaScriptの動きが〜」「JSについて〜」と表現しましょう。用語は正しく用いないと真意が全く伝わりません。事前説明・余談は以上です。

「アルバム」はjQueryを利用している

なんでそんなことするかなぁ ´-ε-`;

JSというのはページに何らかの動きをつけたり、htmlに書かれていない要素を追加したりなど、様々な使いみちがあります。「アルバム」もJSを利用しているのですが、JSの中でも jQuery と呼ばれる ライブラリ を利用しています。

ライブラリ自体の説明はここでは割愛し(フレームワークとよく混同されますがjQueryはライブラリです)、JSという言語は非常に難解です。その難解なJSをわかりやすく・書きやすくするために用いるのがjQueryです。ですから「jQueryを入れた」の意味は「jQueryを入れることによってJSを扱いやすくした」という意味です。ですから 難解なJSコードをそのまま書けるのであればjQueryは必要無い とも言えます。

まぁただそれだけではないですけどね。「JSにはできないけれどjQueryなら表現できるもの」というのもいくつかあります。で、素のJSのことを vanilla JS, ネイティブJS といった呼び方をすることもあります。これはjQueryと区別するためです。

jQueryにはバージョンが存在します

OSやブラウザなどと同じでバージョンアップ, グレードアップが行われるんですね。そしてアップの都度 機能の変更や削除 が行われます。旧バージョンと新バージョンには原則 互換性がありません ので、常にバージョンはチェックしなければいけません。

現在のjQuery最新バージョンは 3.4.0 です。アルバムプラグインで利用しているバージョンは 1.10.2 です。
えー… ちょっ… ( ̄∀ ̄;)

1.10.2がリリースされたのは 2013年 です。えっと。今2019年。仕方が無いと言えば仕方が無いんです。バージョン 2 からは Internet Explore6, 7, 8が非対応 になっているからでしょう。旧IE利用者のためバージョンアップできない状態に陥っているのではないかと。

別バージョン同士は衝突します

jQueryはテンプレートに既に含まれている場合が多いんですね。ただ時代の流れとして「jQuery使うのやめようや。vanilla JSで書こうや。」にはなってきています。vanilla JSと比べjQueryを使うと100KBほど容量が増えてしまうから です。

ただ、例えばテンプレート内に5つ, 6つと複数のJSが含まれており、その全てをjQueryで書く、というのは特に問題ないと思います。もし仮にJSが1つしか無く、そのためだけにjQuery、というならば「ネイティブで書けよ」と言われても仕方がないかな、と思います。

で、webの技術というのは日進月歩ですからバージョン1系を今使うかと言ったら使わないですよ (´・ω・`)
大抵の場合は最低でも2系、製作者によっては最新を使うよう心がけている方も多いと思います。すると アルバム内のバージョンと衝突が起こる というわけです。

同一ファイルが存在する場合の基本は「上書き」なので、htmlで先に書いてある方が後者によって上書きされます。通常はそうなんですが、一応この「バージョン衝突」に配慮してか、アルバムの場合は 別のdocument として挿入されます。

ページ全体が1つのdocument(ドキュメント, 文書)なのですが、その中にアルバム専用の別のdocumentを入れ込むということです。こうしてdocumentのルートを作るだけでも負荷は高い。そしてそれが功を奏して… いれば良いのですが、悪影響にしかなっていない というのが現実です。

プラグインにjQueryを用いるべきではない

だからプラグインをjQuery依存にするなとあれほど。いや、実際それほど言ってないけど(笑)
プラグインというのはページ内の単なる補足情報にすぎません。プラグインがメインコンテンツに昇格することなどありえません。

最近リリースしている私のテンプレートは「jQuery依存無し」で提供しています。せっかく努力してもアルバムプラグインを導入すれば自動的にjQueryが適用されますので努力が水の泡。努力というのは ページの表示スピードを上げる・改善する努力 のことです。

テンプレートにjQueryが「含まれていない」場合にはなんとかなるんですが(しかし表示はかなり遅くなります)、逆に「含まれている」場合、パソコンではスペックによってなんとか表示されます。しかしいつまでもローディング状態が終わらなかったり、スクロールを開始できなかったりということもあるでしょう。
スマホの場合はもう全然ダメ。まともに閲覧できません。ありえなく「遅い」「重たい」「最終的に結局エラー(正常な表示不可)」など。アルバムプラグインを書き出すためだけに ページ全体で弊害が生じてしまう ということです。

これはもうFC2運営に抜本的なコード修正をお願いしたい。jQuery使うなて (∵`)
何度も言いますがプラグインは主役ではありません。脇役が主役の邪魔をしてどうする。

まとめ

ごちゃごちゃと仕組みなどを書きましたけれども、要するに「アルバムプラグインは使わない方が良いよ」ということです。

アルバムプラグインについては第三者の編集を受け付けない仕様になっていますので、私の方でもどうにもできないんです。ですから「使うの辞めてね (∵`)」しか方法が無い。残念ながら。

このあたりの事情をご存知なくて、例えば誰かに「あなたのブログは表示がものすごく遅いですね」と言われても 深く考えない人 が居たり、テンプレートのせいにする人 が居たりでトホホという感じです。閲覧者が「遅いよ、なんかおかしいよ」と教えてくれているのですから、管理人としてテンプレート製作者に尋ねる(相談する)なり自分で調べるなり対策を取るべきだと思うのですが。

特にスマートフォンですね。自分がスマホデバイスを所有していないと指摘されても「へー?そうなんだ?あなたのシステムが古いからかもね?」などと相手のせいにしてしまう方も。ひとりだけならまだしも複数人から指摘されたらさすがに気づけや、と(笑)

あと、私のテンプレートの場合は各専用記事に DEMO(デモ画面) を用意しています。自分のブログの表示速度が異常だと感じたらDEMOと比較をしてください。比較して明らかに「違う・おかしい」と感じたら原因はほぼプラグインです(または自分で追加した何か)

というわけで、修正方法というわけにはいきませんが、ページ表示速度が異常なまでに遅い?もしかしたらアルバムのせいかもよ?という情報でございました。

 2

There are no comments yet.
-
管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

2019/05/05 (Sun) 01:37
vanillaice (Akira)
Akira
To 誤字の件 内緒さん

こんばんは。肝心なところを間違えてしまいました(笑)
いつもありがとうございます :)

2019/05/05 (Sun) 01:56

テンプレートに関するご質問・不具合のご報告の際はご自身のブログアドレス記載必須です。
ご質問の前に 必ずお読みください
テンプレートに関するご質問時のお願い

必ず該当テンプレートの専用記事にお願いします。無関係な記事・別のテンプレート専用記事でのコメントはお控えください。
テンプレートカテゴリ
テンプレート一覧

FC2ブログのあれこれ