JavaScript
github.comのcommit一覧ページで、2点のcommit hashからcompareページに簡単に遷移できる Userscript を3年ほど前に開発し、最近ES6を使ってほぼフルスクラッチで書き換えた。 その際に chai と mocha を使ったユニットテストを書けるように整備した。通常の…
Object.assign を実装当初利用したものの、Safariでは9以上でないと動かないらしい。 jQueryの $.extend を利用するとオブジェクトのマージという形でDeepCopyが出来る。 var src = fetchSrc(); // 何かしらで取ってくる var dest = {}; $.extend(true, dest…
perl use Data::Dumper; warn Dumper( (caller 1)[3] ); JavaScript console.log( arguments.callee.caller );
// ==UserScript== // @name hogehoge // @namespace jun hashimoto // @include http://d.hatena.ne.jp/* // @include http://b.hatena.ne.jp/* // ==/UserScript== (function(){ //処理をよしなに書く })(); asd asd
○スクロールしていって、ウィンドウ1つ分の高さまではそのまま ○ウィンドウ1つ分を超えてスクロールすると上部に張り付く的なnavigationbarの実装方法。 実装例 var isScrolledOverWindow = false; $(window).scroll(function(){ var scrollValue = $(this).…
普通に書くのであれば window.scrollTo(width, height); jQueryのanimation入のものを使うのであれば $j('html,body').animate({ scrollTop: height }, 'fast');
正規表現オブジェクトなるものに一旦入れてから使うらしい。 const TIME_REGEXP = "^([01]?[0-9]|2[0-3]):([0-5][0-9])$"; var timeRegExp = new RegExp (TIME_REGEXP); var time = "23:59"; time.match(timeRegExp) //true
textareaで入力した改行を含む文字列をhtmlにそのまま渡すと、改行されないまま表示されてしまう。 そこで、以下の手順で改行コードを<br>に置き換える必要がある。 // まず改行らしき文字を\nに統一。\r、\r\n → \n txt = txt.replace(/\r\n/g, '\n'); tx…
4月になり、ついに社会人になりました。 社会人になるとやはり平日の自由な時間が少なくなるので、趣味の開発もあまり進みませんね。そんな中、Chrome Extensionをちょっと作り始めた所、結構業務外の細かい時間でそこそこなものができたので、せっかくだし…