※ ChatGPTを利用し、要約された質問です(原文:Javascript外部ファイルの読み込みについて(ブラウザにキャッシュさせたい))
Javascript外部ファイルの読み込みについて(ブラウザにキャッシュさせたい)
このQ&Aのポイント
webページ表示にかかる時間を短縮するために、Javascriptの外部ファイルの読み込み方法に問題があります。現在、サイトの表示には5秒~15秒かかっており、特にIE6の環境では重くなる場合があります。
外部ファイルの読み込み箇所を削除すると表示速度が向上することから、読み込み処理に問題があると考えられます。既に圧縮やキャッシュ設定を試してみましたが、改善は見られませんでした。
外部ファイルをキャッシュさせる方法を探しています。現在のスクリプト呼び出し部分は、prototype.jsやjquery.jsを統合するなどの試みも行っていますが、まだ解決策が見つかっていません。
Javascript外部ファイルの読み込みについて(ブラウザにキャッシュさせたい)
現在、製作中のサイトにおいて、webページが表示されるまで、5秒~15秒程度かかる事態が発生しています。
該当サイトでは、prototype.js等のjavascriptのライブラリを使用しており、合計で5個のjsファイルを読み込んでいます。
jsファイルの読み込み箇所を削除するとサクサクと快適になるので、jsファイルの読み込みに問題があると考え、jsファイルを圧縮したり(http://dean.edwards.name/packer/等)、ブラウザにキャッシュさせるために<script src=""での読み込み時に引数「?version=1」を追加してみたりしていますが、あまり改善しません。
読み込みの数を減らすため、prototype.jsとjquery.jsを統合するなども試してみました。(統合後のサイズは116KB)
利用環境によってはそれほど気にならない速度なのですが、IE6の環境でかなり重い場合がありますので、改善方法を探しています。
一回目の表示はともかく、2回目以降も毎回トップページ表示に5秒以上かかるのは問題がありますので…。
現時点で原因は、外部jsファイルがキャッシュされず毎回サーバーに読みにいっているために遅くなっていると思うのですが…。
ブラウザに外部ファイルをキャッシュさせる方法は何かないのでしょうか?
ちなみに、重くなる環境で、他のサイト(外部JSファイル読み込み多数)のサイトを表示しても、2回目以降は重くなりません。ブラウザのキャッシュの削除も一度試しています。
参考に、現在のスクリプト呼び出し部分を記述します。
---------------------ソースここから---------------------------
<script type='text/javascript' src='js/prototype-1602-and_jquery.js?version=1'></script>
<script type='text/javascript' src='js/js.js?version=1'></script>
<script type="text/javascript" src="js/lib/jquery_auto_j.js?version=1"></script>
<script type='text/javascript' src='js/scriptaculous-js-181/src/scriptaculous.js?load=effects'></script>
<script type='text/javascript' src='js/lightview.js?version=1'></script>
---------------------ソースここまで---------------------------
また、スクリプトはPHPで作っていますので、キャッシュを許可する記述を以下のようにしています。
---------------------ソースここから---------------------------
session_cache_limiter('private_no_expire');
session_start();
---------------------ソースここまで---------------------------
また、現状ではjsファイルの読み込みが原因かと考えていますが、それ以外でも改善点などがあれば、それをご指摘頂ければありがたいです。
宜しくお願い致します。
確認環境:windows XP、 IE6
HP作成スクリプト:PHP
お礼
お返事が遅くなりました。 結果として、prototypeは用いてますが、ライブラリをlightviewではなくlightboxを用いることでアクセス速度は向上しました。 根本的な原因がわかって解決、ってことではないのですっきりはしないですが…。 やはり原因がわかりづらくなる原因ともなるので、何でもライブラリにたよるのも考え物ですね。