我正在尝试编写一个库,该库拦截所有XMLHttpRequest调用,并在最终发送请求之前执行一些操作,例如,通过重写其原型:
var original_open = XMLHttpRequest.prototype.open因为否则,使用此库的网站可以动态加载另一段JS代码,这将再次覆盖XMLHttpRequest.prototype.open,而这个库的全部目的就是不允许这样做。我考虑在重写之后立即使用Object.freeze()冻结原型,以便没有其他代码可以覆盖我自己的覆盖。original_ope