私は Greasemonkey スクリプトを開発しています。このスクリプトはテーブル内のいくつかの要素を変更します。ただし、テーブルのボタンをクリックすると、非同期ポストバックが発生し、テーブルが更新されます。
だから、私の要素もリフレッシュされます。スクリプトを再度実行してテーブル内の新しい要素を変更できるように、ポストバックが発生したことを確認するにはどうすればよいですか? (このページは Telerik を使用しています。)
私は Greasemonkey スクリプトを開発しています。このスクリプトはテーブル内のいくつかの要素を変更します。ただし、テーブルのボタンをクリックすると、非同期ポストバックが発生し、テーブルが更新されます。
だから、私の要素もリフレッシュされます。スクリプトを再度実行してテーブル内の新しい要素を変更できるように、ポストバックが発生したことを確認するにはどうすればよいですか? (このページは Telerik を使用しています。)
わざわざポストバックをチェックしようとしないでください。これは、ほとんどの場合、面倒な方法です。あなたはテーブルの内容に関心があり、それを監視します。
見る:
および他のいくつか。
Brock Adams が彼の答えで言っているように、私はテーブルを監視することに決め、次のコードを書きました。
function repairInputEvents() {
for (var i = 0; i < document.getElementsByTagName("input").length; i++) {
//Add event to buttons that cause postback.
document.getElementsByTagName("input")[i].addEventListener("click", function() {
//Run the following just before postback.
document.getElementsByClassName("table")[0].setAttribute("title", "old");
var checkAjaxInterval = setInterval(function() { checkAjax(); }, 1000);
function checkAjax() {
if (document.getElementsByClassName("table")[0].getAttribute("title") != "old") {
clearInterval(checkAjaxInterval);
repairInputEvents();
repairSelectEvents();
}
}
});
}
}
//First run
repairInputEvents();
repairSelectEvents();