2016-01-01から1ヶ月間の記事一覧

SVGをPNGとして保存する

svgからcanvasを経由して画像に変換する。 昔は、svgの内容をcanvasに変換するライブラリcanvgが必要だったが今はそのままいけるっぽい!? SVGを画像に変換してダウンロードする方法 - Qiita

JPEGよりも圧縮率が高いBPG

GigazineさんのBPG紹介記事が変なので、技術的に検証してみた所…なんと! - Windows 2000 Blog

昔あった新画像フォーマット XNGの仕組み

svg

つまりはSVG、imgタグでsvgを指定できるんだ。 SVG中に画像をbase64で格納してあるだが、gz圧縮してあげれば多少はましかも GIF に変わると噂の XNG という新しいアニメーション画像フォーマットを調べてみた | WWW WATCH

for in breakするには

someを使う方法があるらしい。 someというメソッドの使い方からはプログラムの意図が分かりにくいというのはもっともですが、個人開発だったら別にありな気がする。 場合によっては、プログラムを短く簡潔に書ける。 var result = null; var arr = ['up','do…

javascript booleanへ変換

// !を使う !!1; // true !!0; // false !!'zawa'; // true !!''; // false !!null; // false !!undefined; // false 型変換のいろいろ - Qiita

javascriptのsortで並び替えない。

何を言っているのかよく分からないかもしれませんが、 ある共通の配列処理の中で、必ずしもソートが必要ない場合、デフォルト値としてソートしない無名関数を設定したい。 ソート条件を省略すると、デフォルトは文字列比較でソートされてしまうので Array.so…

chromeのjavascript コンソールでオブジェクトの中身をコピペできるように出力する

chromeのjavascript コンソールでobjectの中身を表示するときに console.dir(object); or console.log(object); or object; とするといずれも階層構造で表示してくれるが、コピペできない。 console.log(JSON.stringify(object); JSONに変換するとコピペでき…

javascriptでbashのfor in

bashのfor inと同じ構文がjavascriptにもあるが、挙動が全く異なるので注意bashのfor inと同じ動作で行いたい場合 今はfor of構文がある。ちなみにjavascriptのfor inは、いろいろな問題を持っていて、ほとんど使い道がない。 for...of - JavaScript | MDN f…

javascript 無名関数内でsetTimeoutなどで自分自身を呼び出すには....。

例えば、SPAなどrequire.jsで非同期にjqueryが呼ばれる場合などで、jqueryの読み込みが完了するまで待つ場合。 jqueryが存在しない場合に1秒後にもう一度自分自身を呼び出したい場合arguments.calleeを使う。但し、arguments.calleeは非推奨。そういう用途で…

javascript ES6時代の文字列比較

いつの間にか、startsWithやendsWithが追加されている。 正規表現で String.match(/^比較文字列/) String.match(/比較文字列$/) でもいいけど、気持ち的に処理が重くない方がいいかな。最近のchromeとかでは部分一致のincludesも追加されている。 chrome拡張…

javascript のソートで条件を1行で書く

ソート条件で、不等号が逆で、返り値なだけなのに同じような記述を書かなきゃいけないのをなんとかしたい。こんな感じ Array.sort( (a,b) => { if(a > b) return -1; if(a < b) return 1; return 0 }) 比較対象のaとbがただの配列だったらいいけど、オブジェ…

文字列の部分一致いろいろ

C#とかでおなじみのstartsWith endWithが使える環境では使えるのでこいつを使うといい感じあとは str.matchの正規表現が定番ですね。 部分一致について、正規表現を使うのはイマイチだし、indexOfは-1と比較させるのが、なんか嫌だしと思っていたら、こんな…

javascript reduceで空配列を操作しようとするとReduce of empty array with no initial value エラーが発生する

reduceで空配列を操作しようとすると Reduce of empty array with no initial value エラーが発生する。 対応方法は、reduceの初期値に0を与える Javascript Reduce an empty array - Stack Overflow

jQuery.Deferredで直列処理する

例えば、あるページのリストをjsonを取得して さらにそのリストの一覧から、それぞれのdetailのjsonを取得する場合取得したリストの一覧をwhenでまとめて非同期で取ってくるものは良く見かけたけど 直列でやるやり方が分からなかった。これでいけるらしい。 …

jqueryで$.ajaxの非同期処理を書く

$.ajaxの単体の記事はわりと良くみかけるけど、多段の場合のサンプルがなかなか見つからなかったのでメモ。callback地獄を抜け出す為に、最近は、javascript自体にgeneretorやらpromiseやらが備わっているが、jqueryにはDeferredという仕組みが備わっており…

javascript pushでメソッドチェーン

できないので、concatを使う。 ぐぐってもすぐ出てこなかったのでメモ Arrayのconcatメソッドが何気に便利だった - あと味

javascript 配列の最後の値を取得するプロパティ

プロパティは動的に生成している。 try { Object.defineProperty(Array.prototype, "last", { get: function(){ return this[this.length-1]; } }); }catch(e){ Array.prototype.__defineGetter__("last", function(){ return this[this.length-1]; }); } ja…

深い階層のオブジェクトが存在するかどうかチェックする。

色々、やり方はあるが、最終的には以下で落ち着いた。 function isset (fn) { var value; try { value = fn(); } catch (e) { value = undefined; } finally { return value !== undefined; } }; console.log( isset(() => a.b.c), isset(() => a.b.c.d.e.f)…

コールバック関数にthisを渡す

今なら、アロー関数を使えばもれなく、勝手に渡ります。var that = thisとか一旦変数に代入したり.bind(this)とかしていたのが懐かしいですね。 that(self)とか別の変数にthisを入れる奴 var self = this; something( function () { // callback stuff } ) …

javascript オブジェクトのマージ

merge(obj1,obj2); これだけだった for(var prop in obj2){ obj1[prop] = obj2[prop] } とかやってたよ。 そうなると、あんまりfor in文で使いどころないなぁ。 複雑なオブジェクトのマージとかに使うか javascript オブジェクトのマージあれこれ - Code Life

javascript 難読化

このレベルならなんとかなりそう。 JavaScript難読化読経

javascriptでfunction()を省略して書く 〜 アロー関数 〜

function って書くの冗長だなと思っていたら、いつの間にか実装されていた。 chrome拡張の開発だったら、chromeが常に最新版に更新されるし、chrome以外のことを 考える必要ないので、使ってもいいんじゃね。chrome拡張の開発は、最新の技術を心置きなく盛り…

jQueryでjsonでPOSTしたい

getJsonがあるので、postJsonがあるかと思えば、そんなものはないので、みなさん、postJsonを勝手に作って使っている模様。わりと、良く使うと思うんだけどなぁ。。。なぜか標準ではない。 jQueryでJSONをPOSTしてJSONのレスポンスを受け取る - ブログ - ワ…

javascriptのコールバック地獄を抜け出す為に....。

今度は、generatorにしたせいで、かえってソースが難解になっているような気がするのだが、気のせいかな。ここらへん、一般には全然浸透していない気がする。 ES6 Generatorを使ってasync/awaitを実装するメモ - maru source

cssで均等割り付け text-justifyが未だにchromeで対応されてない....。

テキストを均等割り付けしてくれるjQueryプラグイン「jQuery.justify.js」 | OZPAの表4 どうしてもやりたいならjavascript使うしかないがイマイチな感じ

css3 border-radiusで中の要素が飛び出る

なるほど、overflow:hidden;が必要だったのか overflow:hidden; 参考 [CSS] 角丸は便利だけど理解に苦しむ時もある

css3 :checked 疑似セレクタの使い方

ぐぐってもあまり出てこないのでメモ基本は以下の使い方で、:checkedと隣接セレクタのコンビで状態のON OFFを実現 折りたたみ可能なパネルの作成 - CSSのみを利用した折りたたみ領域 / アコーディオンパネル (CSS Tips) 頑張ると、モーダルウィンドウや、Lig…

chrome 拡張で画面をキャプチャする

使い方は簡単で、 chrome.tabs.captureVisibleTab(null,{format:"png"},function(string){}) とするだけなのだが 何故か以下のエラーが発生 tabs.captureVisibleTab: The 'activeTab' permission is not in effect because this extension has not been in i…

複数のイベントをまとめて処理したい時

formでinputのchangeやclickイベントだらけになった時に中級者に上がる為の一手。 実践、jQuery - .on()と.off()を使いこなす 1 | CodeGrid

cssでcircleのプログレスバーを作る

cssでできなくはないらしいが、かなり無茶なので、素直にcanvasに書いた方がよさそう。 参考 Pure CSS Circular Percentage Bar | CSS Script