JavaScript

OptiPNG 0.6.4だとgruntのimageminでエラーが出る

環境 grunt ~0.4.4 grunt-cli ^1.2.0 grunt-contrib-imagemin ~0.7.0 経緯 CircleCIのUbuntu12上でgruntを実行したら以下のようなエラーが出た。 Running "imagemin:dynamic" (imagemin) task Warning: Command failed: ** Error: Lossy operations are not …

Extractor作った

少し前に作ったので書いておく。 Extrator github.com これは何 正規表現にマッチする行を抽出する。行全体ではなくて、抽出するグループが指定出来るのが特徴。ログ等から各行の特定の部分を取り出すのに便利。 性能テストでtopコマンドの結果(top -b | gr…

WebのUIのプロトタイプを作るのはJSFiddleが楽で良い

今更感満載だが、JSFiddle便利。サインアップしなくても使えるし。 html、JavaScript、CSSが1画面で書けてすぐ実行することが出来る。尚、CSSとしてSCSS、JavaScriptとしてCoffeeScript、Babelを指定することも出来る。 SAVEすれば一意のURLが発行され継続し…

JavaScriptでDeepCopy

2013/04/30 追記 underscoreだとDeepCopy出来ていない時があった。jQueryの方だけ使うのが吉。underscore.jsの方がぱっと見、分かりやすいかも。underscore.js var copy = _.clone(target, true); jQuery var copy = $.extend(true, {}, target); 参考 https…

クロスドメインで子ウィンドウから親ウィンドウを更新する

やりたかったのは、サブドメインのURLが表示された子ウィンドウから親ウィンドウのlocation.hrefを変更すること。 だがIEだと、新規ウィンドウが開いてその内容が表示されてしまう。 どうもsame origin policyで子ウィンドウと言えどもクロスドメインでは親…

IE7で動的追加されたラジオボタンが選択されない場合の対応

jQuery1.7 IE7で少し前にはまったのでメモ。 クリックのイベントは検知出来るが、ラジオが選択状態にならない。 手動で選択させることにより回避。 $(document).on("click", ":radio", function() { if(!$.support.tbody) { // IE7だとifブロックに入る。も…

JavaScriptのfor文の条件に文字列リテラルを使う時の注意点

ちょっと簡略化してあるが、JavaScriptで以下のコードがうまく動かなかった。for文の中にさえ入ってこない。 var kanto = "8-14"; var range = kanto.split("-"); for (var i = range[0]; i <= range[1]; i++) { // 処理 } 結局range[0]、range[1]をparseInt…

(jQuery-1.7.1)将来的に追加される要素に対してもイベントが設定されるようにする

jQuery-1.7では .live() がdepricated(非推奨)になっていて代わりに .on() を使うらしい。 変換はこんな感じ // 変更前 $("#id").live("click", function() { alert(); }); // 変更後 $(document).on("click", "#id", function() { alert(); }); 参考 jQue…