我试图检测任何 ajax 调用何时在我的 UIWebView 中完成。我修改了这个答案中的代码: JavaScript尽我所能检测 AJAX 事件。这是我的尝试:
var s_ajaxListener = new Object();
s_ajaxListener.tempOnReadyStateChange = XMLHttpRequest.prototype.onreadystatechange;
s_ajaxListener.callback = function () {
window.location='ajaxHandler://' + this.url;
};
XMLHttpRequest.prototype.onreadystatechange = function() {
alert("onreadystatechange called");
s_ajaxListener.tempOnReadyStateChange.apply(this, arguments);
if(s_ajaxListener.readyState == 4 && s_ajaxListener.status == 200) {
s_ajaxListener.callback();
}
}
我将它注入 webView 但警报永远不会触发。如果我在脚本的开头或结尾放置一个警报,它会触发,所以我相当肯定没有语法错误。
我不是 JS 人,所以我希望这是一个微不足道的问题。