У меня возникла проблема, когда файл html.ts запускается дважды на определенных страницах, даже если AJAX отключен в браузере. Кажется, это не проблема с сопоставлением, поскольку она делает это поведение, даже если я комментирую все сопоставления. Страница выглядит в браузере Chrome.Файл html.ts запускается дважды в моем проекте moovweb
ответ
Если ничто не вставлено на страницу AJAX или что-то еще, это, вероятно, связано с плохо сформированным html. Если в источнике есть ничего, кроме <head>
, <body>
или <html>
, Gokogiri обертывает отдаленную разметку в отдельном теге <html>
. Тогда, поскольку есть два открытия и закрытия тегов <html>
, html.ts будет запускаться дважды. Решение заключается в том, чтобы поймать входящую страницу, прежде чем мы расскажем Gokogiri, что с ней делать, и исправьте сломанный html, убедившись, что все обернуто в тег <body>
.
В скриптах/main.ts в папку проекта, после того, как
match($content_type) {
with(/html/) {
добавить это, который удаляет теги </body>
и </html>
и добавляет их к концу:
# wrap markup that is outside the body so tritium doesn't get applied twice
replace(/\<\/body\>/,"")
replace(/\<\/html\>/,"")
append("</body> </html>")
Это должно обеспечить есть только одно открытие закрывающего тега <html>
, который передается Gokogiri, и что html.ts запускается только один раз, как мы этого хотим!
Причина источник, вероятно, выглядит хорошо в Chrome, потому что, когда код Тритий манипулирует страницу, она перемещает вещи из обоих <html>
тегов в первый, и когда Chrome получает страницу, он будет вытирать второй, пустой <html>
тег.
Возможно также, что для начала имеются два знака <html>
! И они выбираются в вашем файле html.ts. Так как файл html.ts начинается с селектора $("/html") {
, если это так, и есть два тега <html>
, тогда код будет запускаться дважды.
Проверьте на iframes на странице, которая может быть причиной этого!
- 1. Фильтр дважды запускается в проекте Spring Boot
- 2. Код jquery не запускается в моем проекте
- 3. Мой сценарий не запускается в моем проекте MVC 5
- 4. .gitignore файл не работает в моем проекте
- 5. Файл R.Java отсутствует в моем Android-проекте
- 6. R файл отсутствует в моем проекте андроида
- 7. где найти файл журнала в моем проекте?
- 8. Где хранить файл mp4 в моем проекте?
- 9. Почему файл Microsoft.SharePoint.Search.dll копируется в моем проекте?
- 10. Чтение XML-файл в моем проекте (ЦСИ)
- 11. FSEvent запускается дважды, когда файл сохраняется
- 12. Как настроить файл сопоставлений в проекте Moovweb, если нет уникальных URL-путей?
- 13. Почему мой таймер не запускается в моем проекте веб-формы?
- 14. Как я могу захватить переменную хоста в проекте Moovweb?
- 15. Azure Webjob запускается дважды
- 16. Как удалить все встроенные атрибуты стиля с использованием Moovweb
- 17. .htaccess в моем проекте
- 18. Каждый файл поврежден в проекте
- 19. Почему «install» запускается дважды?
- 20. Почему KeyListener.onKey запускается дважды?
- 21. Почему document.onreadystatechange запускается дважды?
- 22. Событие Jquery дважды запускается
- 23. Событие PreviewKeyDown запускается дважды
- 24. Java: myComboBoxItemStateChanged запускается дважды?
- 25. jQuery.one() дважды запускается
- 26. Firebase onMessageReceived запускается дважды
- 27. Windows, пакетный скрипт запускается дважды
- 28. скрипт запускается дважды в raspbian
- 29. Приложение запускается дважды в oncreate
- 30. UILongPressGestureRecognizer дважды запускается