簡単な問題が発生し、動作しません。IE 7 でイベントをトリガーしようとしています。これを行うために、次のことを試しました。
if (typeof fireEvent != 'function') {
function fireEvent(target, evt) {
if (document.createEvent) {
var clickEvent = document.createEvent("MouseEvents");
clickEvent.initMouseEvent(evt, true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
return target.dispatchEvent(clickEvent);
}
else {
return target.fireEvent("on" + evt);
}
}
}
ただし、これは機能しません。イベントは IE 7 ではトリガーされません。jquery トリガーは IE 7 で動作しますが、Java アプリケーションでメモリ リーク (約 400MB のメモリ リーク) が発生し、スクリプトが停止しているため、使用できません。これ。
私が試したのは、そのような Javascript を使用した単純なログインです ( http://accounts.google.com/ ):
document.getElementById('Email').value = "%s";
document.getElementById('Passwd').value = "%s";
var signIn = document.getElementsByName('signIn')[0];
fireEvent(signIn, "click");
両方のフィールド (「Email」と「Passwd」) は入力されていますが、フォームは送信されていません。別の方法として、「onsubmit」イベントを使用してみました。最後の 2 行は次のように変更できます。
var gaiaLoginForm = document.getElementById("gaia_loginform");
fireEvent(gaiaLoginForm, "submit");
繰り返しになりますが、jQuery やその他の大きなフレームワークは使用できません。