我的XMLHttpRequest包装器打破了这个过程

时间:2014-07-28 13:08:46

标签: javascript ajax xmlhttprequest userscripts

我正在通过用户脚本向现有网站添加功能。单击某个按钮后,该站点将执行XMLHttpRequest操作。然后它会动态地将HTML添加到正文,其中包括我需要单击的按钮,并在页面中创建一个模态。为了自动化下一次点击,我必须注意XHR事件的完成,查找要生成的预期按钮,然后单击它。我已经成功地向XMLHttpRequest原型添加了一个事件监听器。此包装器的不同迭代已经起作用,但没有一个具有适当的性能。由于我正在修改原型,因此解决方案必须快速。下面的最新版本很快,但它开始打破XHR请求。该网站在控制台中报告“AJAX错误”。


    (function(open) {
            XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
            this.addEventListener("readystatechange", function() {
            if (this.readyState == 4){
                console.log("completed");
                try{
                    var elm = document.getElementById('avsaddressupdate_submit_btn');
                    console.log(elm);
                    elm.click();

                }
                catch(e){
                    console.log(e);
                }
            }
            }, false);

            open.call(this, method, url, async, user, pass);
        };
    })(XMLHttpRequest.prototype.open);

提前感谢您的帮助。

0 个答案:

没有答案