如何判断 Web 应用程序是不是是使用 Angular(或其他技术)构建的?
Posted
技术标签:
【中文标题】如何判断 Web 应用程序是不是是使用 Angular(或其他技术)构建的?【英文标题】:How can I tell whether a web app was built using Angular (or other technologies)?如何判断 Web 应用程序是否是使用 Angular(或其他技术)构建的? 【发布时间】:2015-07-09 02:54:54 【问题描述】:如何通过查看页面源代码而不需要询问开发人员来判断 (Drupal 7) 网络应用程序是否是使用 Angular 构建的?
【问题讨论】:
尝试打开控制台并输入window.angular.version
【参考方案1】:
最好的检查方法是在浏览器控制台上写“angular”。如果你得到任何对象 [With child objects as "bind","bootstrap","callbacks","module" etc.] 那么它就是一个有角度的网络应用程序。
【讨论】:
我添加了一张你可以在控制台中写成角度的图片,然后点击三角形你可以在那里找到子对象 在 Angular 4 中,现在我们无法在控制台中访问 Angular 对象。所以需要找到另一个修复方法。 您实际上无法在 Angular 2+ 的控制台中访问 Angular 对象 在 Angular 2+ 中运行它:window.getAngularTestability 不是这样,这个网站是在 Angular 8 上制作的,但运气不好akveo.com/ngx-admin/pages/dashboard【参考方案2】:您可以安装名为 Wappalyzer 的 chrome 或 firefox 扩展程序。它会告诉您在浏览器中导航到哪个站点以及它们使用的堆栈。
在这里找到它:https://www.wappalyzer.com
【讨论】:
惊人的扩展 不幸的是,它经常显示 Express Web 框架而不是 Angular。我还有一个用 Python Flask 编写的网站,Wappalyzer 无法识别它。 链接已失效。 @igsm 主要是因为flask是一个后端框架,它在后台做了大部分的处理,并且不包含渲染网站上的任何特定线索(例如flask相关的cmets),而它是易于识别其他框架,例如 react(具有虚拟 DOM)或 angular(具有遍布各处的ng
属性)。【参考方案3】:
您可以先尝试:angular.version.full
。如果这不起作用,请尝试getAllAngularRootElements()[0].attributes["ng-version"]
。在 Angular 1 中,前者将起作用,而从 Angular 2 开始,后者将起作用。
【讨论】:
【参考方案4】:如果是在线网站,您可以使用http://builtwith.com/,它通常可以为您提供有关该网站的大量有用信息。
但是,如果他们使用 Angular,您可以查看他们的页面来源,看看他们是否使用了 Angular 的任何属性,例如 ng-repeat
您还可以查看浏览器在浏览该网站时获得的来源,以查看来源中是否包含 angularjs
的 javascript
文件。
【讨论】:
这是一个很棒的资源!【参考方案5】:使用 ng-app 指令声明的应用程序
非常简单的控制器和指令
检查代码中的 ng-model、ng-repeater 属性。所有这些属性都是用小写字母写的。
您还可以通过在控制台中键入来检查 (ctrl + shift + i) 并导航到控制台选项卡。输入 window.angular.version --> 它显示您当前正在检查的站点的版本。
【讨论】:
这对我有用 window.getAllAngularRootElements()【参考方案6】:试试
https://builtwith.com/
这是目前为您提供有关网站使用哪些技术的最详细信息的网站。他们将让您每天进行 5 次免费查找。
https://wappalyzer.com/
也是一个不错的选择,可以作为builtwith的补充。我认为查找没有限制,但结果不太详细。
这两个一起使用可能会给你更多的洞察力。
【讨论】:
【参考方案7】:有一个名为“ng-detector”的 Google Chrome 扩展程序。它可以从谷歌网上商店获得:
https://chrome.google.com/webstore/detail/ng-detector/fedicaemhcfcmelihceehhaodggfeffm
它会在 URL 栏旁边创建一个小图标,指示它是否认为该页面是使用 Angular 创建的,尽管我尚未彻底测试其有效性。
【讨论】:
【参考方案8】:在浏览器控制台中使用 window.getAllAngularRootElements() 如果它返回一些值它是一个角度应用程序
【讨论】:
【参考方案9】:安装 chrome 扩展 React-Detector,它可以工作!
【讨论】:
【参考方案10】:您可以安装名为 Augury 的 Chrome 或 Firefox 扩展程序。它会告诉您应用程序是否是 Angular。
【讨论】:
【参考方案11】:window.getAllAngularRootElements() 为我工作
【讨论】:
【参考方案12】:对于 Angular,在 Chrome 的检查器中,在 Elements 选项卡中,body 元素内部是一个名为 app-root
的元素,其中包含 ng-version
,它显示了它正在使用的 Angular 版本。
【讨论】:
以上是关于如何判断 Web 应用程序是不是是使用 Angular(或其他技术)构建的?的主要内容,如果未能解决你的问题,请参考以下文章
急~!!!银联手机WEB支付如何判断用户手机是不是安装银联插件
Android HttpsURLConnection,如何判断响应是不是被缓存?