在这种情况下,什么会导致Edge 17产生“ SCRIPT5007:预期对象”?

时间:2018-09-07 18:08:29

标签: javascript microsoft-edge

作为大型Web应用程序的一部分,我在函数中具有以下功能:

if (! win) {
  return null;
}
if (! ("document" in win)) {
  return null;
}
doc = win.document;

当此代码在Edge 17中运行时,我在控制台上收到以下错误:

SCRIPT5007: SCRIPT5007: Object expected

错误指向带有doc = win.document的行。我的问题是:这怎么可能?如果是由于Edge中的错误引起的,我该如何解决?

我还应该注意,Chrome,Firefox或IE11不会发生此问题。我可以一致地重现该错误。如果在重现问题之前打开开发工具(又名F12工具),则问题不会发生,这意味着我不能只在相关位置放置一个断点。

1 个答案:

答案 0 :(得分:0)

我建议您使用完整的“ window.document”。

还要在分配值之前尝试检查并确认是否声明了对象和变量。

尝试参考下面的示例。

<!DOCTYPE html>
<html>
<head>
   <title>Hello, World!</title>
</head>
<body>

<script type="text/javascript">
   var doc = window.document;
   console.log(doc.title); // Hello, World!
</script>

</body>
</html>

您可以尝试使用Edge进行测试,并检查它是否对您有用。

致谢

Deepak