見つかった場合にキャプチャ入力フィールドに自動的にフォーカスを与える Greasemonkey スクリプトを作成しようとしています。この例のように、キャプチャ フォームが動的に挿入される場合を除いて、これは正常に機能します。DOMNodeInserted のイベントリスナーを作成すると、そのケースを処理できると思いました。(私は Firefox 17b でテストしています)。
// ==UserScript==
// @name Focus captcha field
// @description Adds focus on captcha fields
// ==/UserScript==
function focusCaptcha (elem) {
var ids = ['recaptcha_response_field', 'adcopy_response', 'captcha_input'];
for (var i = ids.length - 1; i >= 0; i--) {
var input = elem.getElementById(ids[i]);
if (input) {
input.focus();
input.value = '';
return;
}
}
}
(function() {
focusCaptcha(document);
})();
document.addEventListener('DOMNodeInserted', function(event) {
focusCaptcha(event.target);
}, false);