我正在使用angular v6,并尝试使用通用角度构建应用程序。
并且访问诸如document
,window
等对象之类的问题。
对于我自己的代码,可以肯定的是,我可以注入PLATFORM_ID
并使用isPlatformBrowser
。
例如:
if (isPlatformBrowser(this.PLATFORM_ID)) {
const el = document.getElementById('id');
}
问题在于某些第三方库(以我为例)使用document.getElementsByTagName('script')
。
是否有一种方法来定义带有声明的document
,getElementsByTagName
和其他方法的全局虚拟getEelementById
对象,而这些方法实际上什么也没做,但是在应用尝试访问时不会引发错误document
对象是platform-server
中的全局对象?
或者也许有另一种优雅的方法可以解决此问题?
谢谢。