2011-01-01から1年間の記事一覧

XMLHttpRequest Level 2

Firefox Nightly:: XMLHttpRequest の readyState 値 - hogehoge @teramako の続き、かな。 前のはいきなり枝葉に走ってしまったが、Bug 649133 ? Implement XHR2 responseType/response attributes によって、まだドラフトだけどXMLHttpRequest Level 2が実…

XMLHttpRequest.onreadystatechange に入れる関数の引数

何か発見した。 var x = new XMLHttpRequest; x.open("GET","/", false); x.onreadystatechange = function(event) { alert(event); }; x.send(null); とやるとどうなるか。 Eventオブジェクトが取れる! event.targetはXMLHttpRequestのインスタンス! wind…

let がブロックを作ってくれない?

Mozilla JavaScriptの話 var o = {}; for each (let val in ["a","b","c"]) { o.__defineGetter__(val, function (){ return val; }); } 結果 o.a; // "c" o.b: // "c" o.c; // "c" になってしまう。letで書いているからいけると思ったのに。 var o = {}; fo…

mkdir で作成したパスを出力する

cd `mkdir foo` とか tar -xzvf foo.tar.gz -C `mkdir foo` とかしたいわけですよ。 zshならpush-lineがあるので、しまったまだディレクトリを作ってないやと思っても大丈夫なわけだが、他のシェルとかだとどうすればいいか分からないので上記の様な解決方法…

タブグループの一覧を表示する拡張機能 Pano version 0.2

一応使えるようになってきたのでPano version 0.2から転載。 https://github.com/teramako/Pano Download Pano バージョン 0.2 をリリースした。見た目を良くして、タブ一覧にも他グループのタブへ移動できるメニューを追加した。 あと、Ctrl + Alt + p(Mac…

Firefox4とThinkPad TrackPoint USB Keyboard

Firefox 4 でUSBのTrackPoint Keyboardでのスクロールが効かなかった。 3.6くらいまではabout:configなどからui.trackpoint_hack.enabledを1にしてTrackPointを使っていることを明示することで解決できたが、バージョン4では効いていなかったのだ。が、4/20 …

WAT version 1.0 ひそかにリリース

まだAMOにアップしていないけど。 ダウンロードのリンクを張り忘れてたw https://github.com/teramako/wat/downloads WATとは Thunderbird3以降からタブ機能が付いてWebページを観覧できるようになったわけだが、貧弱なので拡張機能でサポートしようという…

ECMAScript 5th 的 LazyGetter

ECMAScript 5th から正式に getter/setter が作れるようになったわけだが、これはMozilla の JavaScript である SpiderMonkey では前々から実装されていた。 { get foo() { return ...; } } { set foo(val) { return ...; } } に加え、 Object.prototype.__d…

Firefox4 と Chrome, Safari の ES5 実装

Hello, I discovered that the following ES5 code evaluates differently in FF4 than Chrome and Safari. function Ctor() {}; Object.defineProperty(Ctor.prototype, "prop", { value: "prototype", writable: false }); var obj = new Ctor(); obj.prop…

CSS3の人気っぷりに嫉妬

CSS3で笑い男 - jsdo.it - Share JavaScript, HTML5 and CSS 面白いと思ったが、こういうのはSVGの領分だよねと思ってSVGでやってみたわけですよ。 SVGで笑い男 - jsdo.it - Share JavaScript, HTML5 and CSS*1 やはり時代は携帯端末向けにWebKitが標準なの…

ECMAScript 6th, Harmony と JS++

Web Reflection: ES6, Harmony, and JS++ http://www.3site.eu/JSNext.pdf [PDF] 内容がとても面白い。 Mozilla JavaScripterなら知っているものは多そうだが。 SpiderMonkeyで独自に採用されているものが将来的にECMAScriptに採用されて仕様に載ると良いな…

ECMAScript 5th の Arguments オブジェクト

まあ、"use strict";しろやハゲってことなんだろうけど...。 JavaScript Argumentsオブジェクトの挙動 - jsdo.it - Share JavaScript, HTML5 and CSS 関数中にargumentがあるかどうかで挙動が変わるというものを発見してしまったのだ。 上記、jsdo.it でやっ…

ああ、それは in 演算子ではなく for-in 構文です...

in演算子の使用法:続JavaScriptのオブジェクトについて - builder in演算子の使用法:続JavaScriptのオブジェクトについて - page2 - builder やぼなツッコミだと思いつつ。 in演算子は、こちらのforループとともに用いる用法が一般的です。 in演算子の使用…

JavaScriptで名前空間

Firefox4のJavaScriptと言えば ECMAScript 5th ECMAScript Harmony E4X ですよね。で、昨日辺りにJavaScriptの名前空間に関してTwitter上で話題に上がっていたので自分もやってみた。 参考 ES Harmony の Proxy について #fxdevcon で LT してきました - moo…

地雷地帯だって、もう何もこわくない

やっていることはuserChrome.css でパノラマの背景を設定する - hogehoge @teramakoとほぼ同じ。画像さえあればCSSでいろいろ工夫は可能。今回はグループの要素に3パターンの画像を用意して背景にしてみている。以下の様な感じね。:nth-of-type便利! html|d…

in 演算子と obj.hasOwnProperty() はどちらが早い!?

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

MinibufferとLDRize を Greasemonkey 0.9.1 で動かす

「諦めたらそれまでだ。でも、君なら運命を変えられる」邪道なやり方である。Use at your own risk !!! 因みに「邪道」だと書いたのはGreasemonkey, Scriptish側に変更を入れる方法だからで、危険があるわけではない(と思う) Issue登録もしておいた https:…

SpiderMonkeyのgetterとsetter

Where's Walden? ≫ More SpiderMonkey changes: ancient, esoteric, very rarely used syntax for creating getters and setters is being removed 2010-04-16の記事で知ったのは今日という、自分の情報収集能力のダメさを感じている。MozillaのJavaScript実…

use strict 怖い

Perlの話ではない、JavaScriptの話なのである。あと、タイトルはまんじゅう怖い的な意味なのである ECMAScript 5 strict mode in Firefox 4 ? Mozilla Hacks ? the Web developer blog Firefox4.0b10pre に ECMAScript5 の Strict モードが実装されましたー…

ペルソナの画像をパノラマに

Bug 593388 – Figure out how Panorama background should interact with Personas について 一応できるんだけど。。。 ペルソナの画像って3000x200の大きさなんだよね。縦200pxでは壁紙としては使えいない。これをクリアしないと難しい気がする。

Macで〜.appを実行する

nsIProcess.init 実行時に MacOS X で NS_ERROR_FAILURE が発生する問題 - vivid mem ちょっと作ってみた。 nsILocalFileMac Interface Mac用のインターフェースでnsILocalFileMacというものが実はある。これをnsIFileに対して、QueryInterfaceするとisPacka…

Node.compareDocumentPositionが素晴らしい

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…