如何在浏览器中检测网站是否使用Angular 2/4/5(类似window.angular)?
检测Angular 2/4/5及更高版本的方法
嘿,这个问题问得很到位!Angular 2+(包括4、5这些后续版本)和AngularJS的架构差异很大,所以检测方式自然也不一样。下面给你几个实用的控制台检测方法:
方法1:检查DOM元素的ng-version属性
大部分Angular应用会在根组件元素(通常是<app-root>)上添加ng-version属性,用来标记当前使用的Angular版本。你可以直接在浏览器开发者工具的Elements面板里找这个属性,或者在控制台执行以下代码:
// 获取根元素的ng-version属性 document.querySelector('[ng-version]')?.getAttribute('ng-version')
如果返回具体的版本号,说明网站用了Angular 2+。
方法2:使用Angular调试API
Angular提供了专门的调试方法,在开发模式下可以直接调用:
// 获取所有Angular根元素 getAllAngularRootElements() // 或者获取对应元素的Angular核心实例 getAngular(document.querySelector('[ng-version]'))
如果这些方法能正常返回结果,就说明网站基于Angular 2+构建。注意:生产环境下如果开启了代码压缩优化,这些调试API可能会被移除。
方法3:检测全局ng对象
在部分场景下,Angular会暴露全局的ng对象,你可以在控制台直接输入:
typeof window.ng !== 'undefined'
如果返回true,基本可以确定是Angular 2+应用。不过这个方法在生产环境中可能不适用,因为构建时可能会把全局对象移除以优化体积。
内容的提问来源于stack exchange,提问作者Aniruddha Das
相关产品推荐
相关产品推荐

