GreasemonkeyでのFormオブジェクトへのアクセス

Greasemonkeyではdocument.formsオブジェクトがXPCNativeWrapperでラッピングされています。
と言うことでname属性のみしか識別子が無い場合は、通常の方法とはちょっと異なります。


<form name="form1">
<input name="hoge" type="text" />
</form>

といったformの場合、通常のjavascriptでは

document.forms.hoge.value

とアクセスしますが、XPCNativeWrapperでラッピングされているので
document.forms.elements.namedItem("hoge").value

となります。

詳しくは「XPCNativeWrapper - MDC」へ