Javascript 如何找到网页中实际覆盖窗口的脚本。open()到window.open=true

Javascript 如何找到网页中实际覆盖窗口的脚本。open()到window.open=true,javascript,window.open,Javascript,Window.open,我有一个javascript函数,它实际上使用window.open方法在Iframe中加载页面。但我确信,另一个脚本会覆盖window.open。这就是为什么我会犯这样的错误 Uncaught TypeError: window.open is not a function 是否有任何方法可以找出哪个脚本实际执行此操作而不在所有脚本中查找。因为页面有很多脚本 您可以通过执行 Object.defineProperty( window, "open", { writable: false

我有一个javascript函数,它实际上使用window.open方法在Iframe中加载页面。但我确信,另一个脚本会覆盖window.open。这就是为什么我会犯这样的错误

Uncaught TypeError: window.open is not a function
是否有任何方法可以找出哪个脚本实际执行此操作而不在所有脚本中查找。因为页面有很多脚本

您可以通过执行

Object.defineProperty( window, "open",
  {  writable: false,
     configurable: false
  }
);
在加载或执行其他脚本之前

然后,Chrome报告试图将window.open设置为true的情况

未捕获的TypeError:无法分配给对象的只读属性“open”

以及尝试地点的详细信息。Firefox的行为类似,错误消息为

TypeError:open是只读的


请注意,2018年6月1日声明,尝试写入不可写属性也不会引发错误。这似乎不正确,与代码示例注释不匹配。

在页面加载过程的早期点设置断点,并设置窗口。作为监视项打开。然后一步一步地检查代码,直到代码发生变化。你能发布你的JavaScript函数来检查吗。函数wa,b,c,d{a=window.opena,b,width=330,height=440;返回a}非常感谢scott Marcus。请告诉我如何知道哪个是页面加载的早期点。因为我不知道先加载或执行哪个脚本。请在页面头部的顶部放置一个新的脚本元素,其中包含一行伪代码,如console.logtest。然后,在该行上设置一个断点并从那里开始。