作为大型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工具),则问题不会发生,这意味着我不能只在相关位置放置一个断点。
答案 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