ネタまとめ

かつて、はてなダイアリーというサービスがあった

activity-indicator-1.0.0がChromeで動かないよ!という時の対処法

私的メモ。

jqueryプラグインにactivity-indicatorという「読み込み中ですよ」とクルクル回る物を出してくれるプラグインがある。
最近更新されたChromeと相性が悪く「突然動かんぞこれどうした?」となった時に手直しする方法。

問題のファイル名 jquery.activity-indicator-1.0.0.js *1
問題のChromeバージョン 31.0.1650.57 m

直す

デベロッパツールでも何でも良いので、エラーの箇所を確認すると、非圧縮版の150行目でエラーになる

document.styleSheets[0].insertRule(rule);

これを

document.styleSheets[0].insertRule(rule,0);

引数を一つ加えてやる必要があるらしい。
エディタで修正する。

.min.jsってなってるやつはどうするんだよ?

落ち着いて

document.styleSheets[0].insertRule(rule

でソース内を検索すると一か所だけ出てくるはずなので、そこを修正する。
展開すると84行目になる辺り。

なにこれ?

insertRuleで検索するとちゃんと出てきます。
よくあることです。

簡単にinsertRuleで「0」使ってるけど

スタイルシート無かったらどうするんですか?対象のCSSが印刷向けのみだったらどうするんですか?


空のstyleタグでも入れてみたり、先頭に表示用のシートを入れてみてはいかがでしょうか。
「styleタグをJavaScriptで動的に生成する方法」辺りで検索してもらえば1から突っ込む方法が見つかるので、それを使えば最初に生成する事だって可能です。
新規で作ることがベターですが、どの方法が一番スマートな方法なのかはお任せします。

*1:検索用