(2003d)JavaScriptファイルのサイズ軽減についてXOOPSには最初からBBcode使用時などに使われる「xoops.js」という7KB程度のJavaScriptファイルが存在する。個々のモジュールが「Prototype」や「jQuery」といったライブラリと呼ばれるものを独自に持って読み込んだりする。xoops.jsの7KBはそれほどでもないが、ライブラリのファイルサイズは数万KBとかなり大きい。大きい分、圧縮がかなり効くので時間的な余裕があれば圧縮処理をしておきたい。Compressorを使っての圧縮JavaScriptファイルは適度に改行が入っていたりして、人が後々編集しやすいように書かれている場合が多い。読みやすくしているなりにファイルサイズが大きくなっている。個人がサイト運営を行うにあたってxoops.jsやPrototype、jQueryを独自にカスタマイズするというケースはまずないと思われるので、改行などは取っ払ってしまっても問題ない。Compressorというプログラムを使ってJavaScriptファイルを圧縮してしまおう。Compressorなお、JavaScriptファイルの圧縮(難読化)プログラムはいくつかあるが、たまに圧縮の仕方に問題があるのかJavaScriptが動かなくなるときがあるので注意したい。Compressorを使って問題が出たことはなかった。Compressorによる圧縮と比べると、gzipによる圧縮はもっとデジタルっぽい。実際は「1111111111」なのだがこれを「1が10」として、使うときに「1111111111」に戻そうという感じになる。Compressorによって7KBになったxoops.jsを2KBにまでにすることができる。ノーマルな状態では14KBなので実に7分の1の圧縮になる。既存ファイルをgzip形式で圧縮できるソフトはLhaplusなどがある。Lhaplus問題は「1111111111」を「1が10」と書かれてもうまく解釈できず、「1111111111」に戻せないブラウザもあるということだ。いったブラウザのためにmod_rewriteを使って「gzipを展開できるブラウザはこっち」「展開できないブラウザはこっち」という振り分けを行う。.gzと書いた.htaccessファイルを入れておくといいだろう。ゲストユーザにフォーラムやコメント欄を開放していない。ゲストユーザにxoops.jsを読み込ませる必要がない。type="text/javascript"><{$xoops_js|regex_replace:"/(\/\/\-\->|<!\-\-)/":""}></script><{/if}>と括っている。type="text/javascript"><{$xoops_js|regex_replace:"/(\/\/\-\->|<!\-\-)/":""}></script>が表示されず、当然、xoops.jsが読み込まれることもない。$xoops_isuser}>は「登録ユーザにだけ(表示する)」という意味を持っていて、よく、「○○さんようこそ」という挨拶をログインした登録ユーザに見せるために使われているが、こんな使い方もできて便利だ。--></script>↑自体を削除してしまってもいいだろう。ゲストには読み込んでもらう必要があるが、登録ユーザには読み込ませたくないというJavaScriptファイルもあるかもしれない。src="hoge.js"></script><{/if}>と括ればよい。