我的一个客户遇到了一个奇怪的问题,在客户网站上,一些在我的代码覆盖"window.console"
之前运行的代码,所以我无法使用它。我试图创建一个不可见的iframe并使用它的contentWindow,但不知怎的,它也被钩住了。所以2个问题:
-
我可以从它的构造函数创建一个新窗口吗?
-
我可以扩展
"Window.prototype.constructor"
吗?这样当我创建一个新的iframe时,我可以保护我想要的属性。
否。如果客户端网站在您之前运行了覆盖window.console
的代码,您就无法规避这一点(创建iframe时似乎也会发生同样的事情(,并且无法恢复控制台功能。
根据你的需要,可能还有其他方法来实现你的需求。在浏览器中实现window.console
之前,开发人员用HTML和JS制作了自己的控制台,将消息记录到HTML元素中。