JavaScript

Firefox34でXHR#sendにオブジェクトを指定すると怒られる

Firefox 34 サイト互換性情報 - Mozilla | MDN Firefox 34 for developers - Mozilla | MDN変更点とか参照する限りそういった記述は見られないんですが、仕様変わったんでしょうか。例えばこんなコードを書くとff34ではエラーが吐かれます。 var xhr = new X…

自作npmをcoffeeで書いた時compileはどこでするか

インストール時のお話。何をcoffeeで書いたとしても吐かれたjsはあまり見たくないわけですが、ましてやバージョン管理なんてもっての外だし当然配布時もjsファイルは含めたくない、って時にどうするか。https://www.npmjs.org/doc/misc/npm-scripts.htmlnpm…

contenteditableな内容をURIで開いてブックマーク

たった一行でブラウザをシンプルなメモ帳に変える方法 | IDEA*IDEA 結構お世話になっていたこのスニペット。書き捨てのメモじゃなくて保存しておきたいって時にhtml形式でそのまま保存するか、内容をコピペしてどこかしらに貼り付けて保存をしないといけない…

grunt-cliへの移行備忘録

今やってるプロジェクトで使ってるGruntをgrunt-cliで行うようにしたのでメモ。 0.4からGruntはgrunt-cliというのを使うようになったようです。ちなみにこのプロジェクトではまだ0.3.17でタスクを実行する。基本的にはGetting started - Grunt: The JavaScri…

CoffeeScript練習がてらuserscriptを書き直し

さすがにそろそろCoffeeScriptがどんな感じなのか触ってみたい欲が高まってきたので、とりあえずまず小さいスクリプトを書いてみようということで丁度いい大きさのuserscriptをCoffeeScript化することにした。練習のためにHelloWorldやるとかはちょっとモチ…

Nico today Watchエラー修正しました

Nico today Watchでページが読み込めなくなる問題がありました。修正したので入れてくださっている方はアップデートをお願いします。 (割とクリティカル) http://userscripts.org/scripts/show/103101

ニコニコ静画で一回のクリップで複数のクリップグループに登録するグリモン

他にやらないといけないことがあったけど、すぐできるだろと作り始めてしまった。http://userscripts.org/scripts/show/107021 ↑こんな感じで複数のクリップグループを選択できます。ニコニコ静画でちゃんとクリップをグループに分けてこうと思ったんだけど…

Amazonの拡大イメージを取得するAmazon-img

Amazon-imgアップデートしました。 http://amz-img.appspot.com/ 内部に改良加えただけでそこまで使い勝手は変わっておらず。さすがにフロントエンドもう少し手加えないと。 あと、すぐ対応するつもりだけど、Amazonでイメージを3段階以上拡大できる商品の…

Nico today Watchの機能分割とアップデート

以前Nico today Watchになぜか全然別ページの機能が入っててこれグリモンとしておかしんじゃねって自分を問い詰めてた件、大した作業量はないのになかなか取り掛かれず、今日ようやく分離しました。 Nico today Watch Niport ←Nico today Watchにあったニコ…

ニコニコ静画ランキング出張所のサムネ画像をプレビュー表示するグリモン

最近グリモンばっか書いてる(^q^) ニコニコ動画が使いにくいので 今回は自分が効率よくブヒブヒするために書きました。 http://userscripts.org/scripts/show/105038 ニコニコ動画のランキングのページで、右側のカラムにあるニコニコ静画ランキング出張所。…

指定したページのソースをcodr.ccへ渡すGreasemonkey

アドオンでおk。 アドオン作るのに慣れていなかったのでGreasemonkeyとBookmarkletで無理やり実現した。 Greasemonkey: codr SenderBookmarklet: codr Sender.bm 使い方 まずはこいつをインストールして、そのあとasphaltにあるcodr Sender.bmをブックマーク…

で提供するコンテンツ生成コードでdocument.writeを使わない方法とか

JavaScript TUEEEEEEEってなるdocument.writeのテクニック - あさdev 前回の続きっぽいもの。 document.writeにはちと問題があるわけだからできれば使わないほうがいい。それが外部からロードされて使われるものだったら尚更。 自コンテンツ配信用として<script>タグ…

JavaScript TUEEEEEEEってなるdocument.writeのテクニック

外部からscriptタグで読み込んだJSファイル内でdocument.writeが使われていると、ページ全体が書き換えられてしまう。ページのDOM構築終了後にdocument.writeしちゃったりすると、こういうことが起こる。 基本的に外部のコードとかはDOM構築の段階で読み込む…

node.jsでファイル操作

node.js使って何か作りたいと漠然と思っているけど、なかなか何を作ろうか、何が作れるのかが浮かんでこないのでとりあえずnode.jsに慣れておこうと思ってまずファイル操作から始めることにした。今回はcygwin環境。(前に入れたportble ubuntuが動かなかっ…

node.jsをwindows環境で動かす

node.js に興味あるけどまだ試したことがなかったんでWindows上で node.js を触るための準備。 portable ubuntu のインストール 現在のところWindows環境で node.js を試す方法は cygwin や portable ubuntu などを利用して仮想的に UNIX 環境を作ってそこに…

JavaScriptのnew

JavaScriptのnewはJavaなどのnewとは挙動が違う。new演算子はprototypeチェーンを継承して新たにオブジェクトを生成する演算子であるため、通常の new Hoge(); と書くよりも、 new(Hoge);*1 と書いたほうがイメージが伝わりやすい。 var hoge = new Hoge; こ…

JavaScript での二重否定

自社コンポーネントとかのソース解析してて「ん?」と思ったから少し調べてみた。 var hoge = {}; var b = !!hoge; 二重否定(!!)を行うことで値の真偽値として取得することができる。Boolean型へ変換するイディオム。一見なにかと思うけど分解すればその挙動…

JavaScript開発の難しさ

大規模サイトを開発する企業だと JavaScript の開発も分業され、複数人で多くのモジュールを扱うことになってくる。 僕が学生のころアルバイトをしてた企業はそれこそサーバーサイドからクライアントサイドまで全て一人ないし二人でこなす。 デザインはほぼ…

argments

argments.callee var hoge = function(){ var t = arguments.callee; alert(this.hoge); // undefined alert(t.hoge); // "hogehoge" } hoge.arg = "hogehoge"; argments.callee は自分自身を返す。 この場合 hoge() の中での this は window であるため thi…

Event メモ

Event の stopPropagation() と preventDefault() どちらもイベントの伝播を止めるものだが、stopPropagation() はイベントキャプチャリング方式で伝わるイベントを止め、preventDefault() はイベントバブリング方式で伝わるイベントを止める。イベントキャ…

relatedElement のお話

Event.relatedElement Event の relatedElement は、何かしらのイベントがエレメント A で発生した場合の、発生のトリガーとなったエレメント。例えばエレメント B がエレメント A を内包している HTML ドキュメントにおいて、エレメント A に mouseover イ…

JavaScript - replace()

"hoge".replace() での正規表現とコールバック関数 replace関数の第一引数には正規表現を指定できる。 また第二引数にはマッチした文字列を引数とするコールバック関数を指定できる。コールバック関数の戻り値でマッチした文字列が置換される。 var str = "h…

演算子メモ

if(true || false){... if(true &amp;&amp; false){... var hoge = "" || "a"; と && は共に演算子の右側から評価を行っていく。 は最後に評価された true のものが返る。全て false の場合に false が返る。 && は全て true の場合に最初に true と評価され…

関数の参照、undefined と null とか

関数の参照方法 オブジェクトの関数には通常 Hoge.method(); と参照するが、次のような参照方法もある。 Hoge["method"](); undefined と null alert(typeof undefined); // undefined alert(typeof null); // object

JavaScriptファイルのJsDoc化

JavaScript ファイルを JsDoc 化する事になったのでコマンドを忘れないように書き留めておく。 java -jar jsrun.jar app\run.js ファイル名 -d=生成先 -t=templates\jsdoc -p -pはprivate変数・関数もjsdocに含めるオプション