Мы используем фреймворк dojo на наших сайтах.Клиент вызвал панику, сказав, что его продажи от пользователей Microsoft Edge полностью упали.Я обнаружил, что в этом браузере переменная dojo
периодически теряет значение после загрузки страницы.Поэтому, конечно, взаимодействие с этими пользователями не работает, поэтому, конечно, нет продаж.
Но в ходе тестирования я обнаружил эту удивительную вещь в devtools:
![dojo variable refuses to be set to anything](https://i.stack.imgur.com/kCsjV.png)
Я даже не знаю, как бы я это сделал, если бы я хотел сделать это.Поэтому я хочу отследить это, но понятия не имею, что искать.Я мог бы заподозрить какой-то странный, повторяющийся код setInterval
, но я бы не подумал, что он может попасть между двумя операторами в последней строке консоли.
Перед тегом </body>
есть строка сценариягде я могу поставить точку останова.На этом этапе dojo
устанавливается как структура, как и ожидалось.Так что это делает некоторый код, который загружается после загрузки страницы.
(РЕДАКТИРОВАТЬ: Я хотел бы делать итеративные, точечные точки останова, если бы мог. Но у меня есть доступ к Edge только через BrowserStack, и я пытаюсьустановить полезные точки останова в минимизированном коде очень сложно в инструментах разработчика Edge.)
- У кого-нибудь есть предложения, что мне нужно искать?
- Как отлаживать для этого?Существует ли клиентская переменная, в которой вы можете видеть функции, установленные для загрузки документа, или способ, которым я могу поместить в них контрольные точки?
- Я пытался использовать
watch()
прокладку в консоли, чтобы наблюдать за додзёобъект меняется, но с этим не повезло.(но, возможно, сделал это неправильно, поэтому, если это идея, мне может понадобиться помощь в правильной реализации).
РЕДАКТИРОВАТЬ: Есть также это, если это помогает понять какой-либо смысл.После удаления dojo
настройка работает как положено.
![dojo back to normal after deleting it](https://i.stack.imgur.com/zXB02.png)