head内のソースを最適化してくれる便利なプラグイン『Head Cleaner』。このプラグインにはCSSとjavascriptをキャッシュする機能があります。
ローカル内でjQueryソースコードを書き換えてサーバーにアップロードする時、予めHead Cleanerのキャッシュ設定をOFFにしたのですが何故かjQueryが動かない。というか、弄っていない他所ソースのjQuery関係も動作していない。泣いて良いですか。
Firfoxでソースを見ると外部ファイル参照URLに赤文字が
Firfoxで右クリックからソースを見ると、jQueryのソースURLに何故か赤文字が表示されていました。「&」というやつです。何故かアンパサンドに変換された状態でURLに載っている。
というよりURL全体がおかしい事になっていました。googleのURLで例えると、
http://www.google.co.jp/http://www.google.co.jp/wp-content/plugins/head-cleaner/js_css.php?f=jquery/jquery&t=js?ver=1.8.3
こんな形です。
Head Cleanerのキャッシュ関係設定をOFFにする方法を間違える事が原因
設定の項目で「CSS と JavaScript を、サーバ上にキャッシュする」があるのですが、このチェックボックスをチェックすると新たに項目が増えます。
再度チェックを外すと項目がまた隠れるのですが、この時「CSS, JS を動的生成する。」にチェックが入ったままだと何故か設定が引き継がれたままなのです(上図赤枠)。
おそらくJavaScriptで非表示にしているのみで、項目が隠れても設定(HTML構造)は残るようですね。
項目が隠れるからと言って設定が消える分けではない、という事でした。ちなみに、2013年5月25日現在Head Cleanerのバージョンは1.4.2.10です。これ以降のバージョンだと解決されている可能性があります。