二度jQueryが呼ばれる件を解消

各ページに通称「へぇ」ボタンを設置し、jQueryを使ってPUSH数を表示したり、実際にPUSH+1処理をしている。しかし、時々2カウント同時に増えてしまう現象に遭遇する。

調べてみた結果、imgPreviewというjQueryのライブラリが影響していることが判明した。このライブラリ自体は悪くない。大抵のページでpopupを使うので、layout/default.ctp内で同ライブラリを読み込む仕様にしている。結果、popupを使わないページでもライブラリは呼ばれており、そこでjavascriptエラーが発生していた。

どうやら同エラーが出ると一度にページを二回読み込むことになるらしい。エラーも二回発生しているし、「へぇ」の表示や押下処理もダブルクリックをしたかのように二度ずつ発生している。

暫定対処にすぎないが、全てのページでpopupが存在するようにlayout/default.ctpで表示される箇所に適当なpopupを設定することとした。本当はpopup画像があるかないかでライブラリを呼ぶかどうか決めるべきかもしれないけど。

ということで引き続き新幹線内で作業。