0

現在、JavaScript で Firefox アドオンを開発中です。Web ページをスキャンして、電子メール アドレスなどの特定のものを探します。Web サイトのソース コードを読み取り、イベント リスナーをテキスト ボックスに設定して、ユーザーが任意の Web サイトのテキスト ボックスに電子メール アドレスを入力しているかどうかを検出できるようにする方法はありますか。私はJavaScriptが初めてなので、これがJavaScriptで可能かどうかはわかりません。ユーザーが Web サイトでメールアドレスを入力した場合にアラートを表示できるようにする必要がありますが、これは Firefox アドオンから実行されるためです。Web サイトで検証目的で使用している場合に表示されるのとほとんど同じです。しかし、これは Firefox アドオンからのものであるため、まったく同じようには機能しません。私は GreaseMonkey を見てきましたが、非常に紛らわしく、それができるかどうかを具体的に見つけようとすると行き詰まりました。

どうすればこれを実装できるか、それが可能かどうかさえも素晴らしいでしょう。

4

3 に答える 3

2

あなたはこのようなことをすることができます:

window.onload = function () {
    var inputs = document.getElementsByTagName('input');
    for (i = 0; i < inputs.length; i++) {
        inputs[i].onkeypress = function () {
            if (this.value.match(/^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/)) {
                // do something
                alert('Looks like an email address!');
            }
        };
    }
};

ここで試してみてください:http://jsfiddle.net/samliew/49cny/

于 2013-03-01T09:26:24.573 に答える
0

event listener次のように追加できます。

構文

target.addEventListener(type, listener[, useCapture]);
target.addEventListener(type, listener[, useCapture, aWantsUntrusted Non-standard]); // Gecko/Mozilla only

https://developer.mozilla.org/en/docs/DOM/element.addEventListenerから

例えば

document.getElementById('inputid').addEventListener("keypress", function(){/* Your code */}, false);
于 2013-03-01T09:28:27.700 に答える
0

jQuery .keyPress() function以下は例です... の はどこに#targetありますか。IDTextbox

var i=0;
$( "#target" ).keypress(function() {
i++;
console.log("Kep Pressed: " + i);
}
于 2015-06-17T04:37:52.447 に答える