Angular 6 - Chrome in IOS - 路由器问题
Angular 6 - Chrome in IOS - Router problem
我正在开发一个 Angular 6 网站,我只在 IOS 中的 Chrome 上遇到一个奇怪的问题(iPad,iPhone ).
当直接转到每个 link 时,每个页面都能正确呈现。但是当我点击任何页面内的任何 links 时,它会生成一个像这样的 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
在 IOS 内部调试 Chrome 真的很困难,因此很难获得更多信息。
我的网站在任何其他浏览器和 OS、Firefox(windows、linux)、Chrome(windows 和 linux), Safari (ios, osx, windows).
有人知道从哪里开始寻找吗?
谢谢!
显然,问题仅在 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'))
问题已解决。
我真的不知道为什么 cast 框架会破坏 angular 路由。
我正在开发一个 Angular 6 网站,我只在 IOS 中的 Chrome 上遇到一个奇怪的问题(iPad,iPhone ).
当直接转到每个 link 时,每个页面都能正确呈现。但是当我点击任何页面内的任何 links 时,它会生成一个像这样的 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
在 IOS 内部调试 Chrome 真的很困难,因此很难获得更多信息。
我的网站在任何其他浏览器和 OS、Firefox(windows、linux)、Chrome(windows 和 linux), Safari (ios, osx, windows).
有人知道从哪里开始寻找吗?
谢谢!
显然,问题仅在 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'))
问题已解决。
我真的不知道为什么 cast 框架会破坏 angular 路由。