JavaScriptコンソールへのデバッグログの出力
FirefoxのエクステンションFireBugに出力するなら次のような文で可能。
console.log("hello world");
Chromeでも同じコードが使える。
Objectに対してどのようなメンバがあるのかを調べるには
dump = "";
for (var i in obj) {
dump += obj[i] + "\n";
}
のように、in演算子ループすればよい。
prototype
function MyClass() {
}
MyClass.prototype.a = 1;
各インスタンスのメンバ変数のデフォルト値を設定したければprototypeを使う。prototypeの値はインスタンスで値が設定されるまで参照されるが、一度設定されると、次からはそちらが用いられるようになる。
greasemonkey user scriptの実行について
Greasemonkey用に書かれたuser scriptをVenkmanでデバッグできるかという質問に対しての回答が
これ。
Greasemonkeyのスクリプトは、greasemonkey.jsのComponents.utils.evalInSandbox()メソッドで実行される。このevalInSandbox()メソッドはC++で実装されているため、Venkmanではデバッグできない。
document.selection.type
文字列を選択している場合、document.selection.typeは、'text'になる。
何も選択していない場合は、none。
HTML要素の取得
document.getElementById('idstr')が便利。HTML要素のオブジェクトが取得できる。
キー入力の検出
function keyin() {
return false;
}
<onKeyPress="return keyin()">
onKeyPressでfalseを返せばキー入力はなかったことになる。
キー入力イベントの情報は、変数event(グローバル変数か?)で取得できる。
SPAN
.innerHTML 内側のHTMLテキスト
TEXTAREA
入力テキストは、element.valueで取得できる。