Angular 6 - Chrome в IOS - проблема с роутером - PullRequest
0 голосов
/ 12 октября 2018

Я работаю над веб-сайтом Angular 6 и сталкиваюсь со странной проблемой только в Chrome в IOS (iPad, iPhone).

Каждая страница корректно отображается при переходе непосредственно к каждой ссылке.Но когда я нажимаю на любую из ссылок внутри любой страницы, она генерирует ошибку NavigationError, подобную этой:

TypeError: Argument 1 ('other') to Node.contains must be an instance of Node
TypeError: Argument 1 ('node') to Node.insertBefore must be an instance of Node

Действительно трудно отладить Chrome внутри IOS, поэтому трудно получить больше информации.

Мой веб-сайт работает хорошо в любых других браузерах и ОС, Firefox (windows, linux), Chrome (windows и linux), Safari (ios, osx, windows).

У всех есть идеи, гденачать искать?

Спасибо!

1 Ответ

0 голосов
/ 15 октября 2018

Видимо, проблема возникает только на Google Chrome iOS, когда присутствует этот код:

let script = window['document'].createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1');
window['document'].body.appendChild(script);
window['__onGCastApiAvailable'] = function (isAvailable) { /*Do chromecast initialization*/}

Поэтому я добавил следующее условие:

if(!navigator.userAgent.match('CriOS'))

Проблема решена.

Я действительно не знаю, почему литой каркас нарушает угловую маршрутизацию.

...