Что может вызвать `SCRIPT5007: ожидаемый объект` с Edge 17 в этой ситуации? - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть следующее в функции, как часть большого веб-приложения:

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. Я могу воспроизвести ошибку последовательно. Если я открою Dev Tools (или F12 Tools) перед воспроизведением проблемы, проблема не возникнет, а это значит, что я не могу просто поставить точку останова в соответствующем месте.

1 Ответ

0 голосов
/ 14 сентября 2018

Я предлагаю вам использовать полный '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 и проверить, работает ли он на вашей стороне или нет.

Привет

Дипак

...