Сломанная страница: (Не удалось выполнить 'removeChild' на 'Node')

Привет :wave:

Я столкнулся с этой ошибкой в консоли. Она появляется, когда я перевожу страницу с помощью встроенного в браузер Google Переводчика.

Ошибка в консоли

Uncaught DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.


Воспроизведение

Я изменил язык Discourse, например, на французский, и перевёл его с помощью встроенного Google Переводчика на английский.

Без Google Переводчика ошибка не возникает, но при включении Google Переводчика после первого переключения на страницу темы в разделе Новые и непрочитанные темы страница полностью зависает (ломается).

Я показал это на примере переключения темы, но эта проблема возникает и на других страницах… например, на /about при переключении между /faq, /tos и т. д. с помощью навигации, если включён Google Переводчик.

Спасибо :slightly_smiling_face:

2 лайка

Это сложный случай: это ошибка Google или Discourse? Встроенные переводчики искажают HTML-структуру, из-за чего Ember начинает сильно путаться и теряет контекст.

1 лайк

Да, к сожалению, похоже, что это так. Вы правы, это не проблема Discourse, а конфликт между Ember и Google Translate. Я также нашёл отчёт в репозитории git проекта Ember.js за 5 лет назад, касающийся аналогичной проблемы. Спасибо, Сэм :slightly_smiling_face:

1 лайк

Я могу спросить наших друзей из сообщества Ember, есть ли у них какие-то идеи, но все прогнозы становятся недействительными, если DOM изменяется под этим.

3 лайка