昨天正在吃鸡ing,3杀就快决赛圈了,突然老师丢给三个网站链接,让我去查查他们用的什么js框架。。。

讲道理,刚看到这个问题的时候我也是头皮一麻

怎么可能通过网页就能看到人家是啥框架?人家不都封装过了吗?

那些写这个网站的都是傻×吗?随便就让你看核心js框架啊?

经过两天的实验和查资料,貌似也是可以看查到的,毕竟人无完人,总有百密一疏的时候。

当然这只是我尝试过的一些方法,我的问题解决了,但并不能保证一定可以解决所有的问题,如果遇到封装很好的网站,那就认命吧。。

刚开始去搜索的时候,别人的博客,或者论坛会给你很多的网站,让你去把你的网站输入进去,就可以看到网站的核心技术,讲道理真的没有什么卵用。

比如我尝试的一个:https://builtwith.com/

操作很简单,你只需要将网址输入进去就可以,然后看看返回了什么

这就是它返回给我的这个网站所使用的所有的技术,但这并不是我想要的啊o((>ω< ))o

而且还有个问题就是,如果框架是ASP.NET的那么网页的访问因该有相对应得后缀命如:.aspx   .ashx等等

所有我认定这玩意在坑我.........

后来我尝试用英文得方式在google上搜这类问题,一个告诉我要靠经验去获取,就是你得多学框架,知道每个框架得特点,关键字,那么一眼就可以知道这个是那个框架写的了。。。说去框架,可以看看我的另一篇博客,看看到底有多少前端框架;另外一个是在Github上贴出了代码,用html原生的函数document.querySelector()去获取dom的信息,其主要的原理跟第一个人意思差不多。

归结起来就是:不同的框架有不同框架所使用的特定的keyWord,比如说在Angular中我们用 “ ng-* ”来作为特定的指令标识,在React中我们用reactid等标识,那么可以通过搜寻这些关键字的方式去获取该网站的框架(当然这个方法不是万能的,但也是想对有效的方式之一)

代码如下:

if(!!window.React ||!!document.querySelector('[data-reactroot], [data-reactid]'))console.log('React.js');if(!!window.angular ||!!document.querySelector('.ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]') ||!!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))console.log('Angular.js');if(!!window.Backbone) console.log('Backbone.js');
if(!!window.Ember) console.log('Ember.js');
if(!!window.Vue||!!document.querySelector('[v-if],[v-for],[v-show]')) console.log('Vue.js');
if(!!window.Meteor) console.log('Meteor.js');
if(!!window.Zepto) console.log('Zepto.js');
if(!!window.jQuery) console.log('jQuery.js');

直接将上面的代码注入到控制台中

就会直接打印出你的前端js框架,但是对于有些页面时不行的,所有你需要多打开多个页面一个个的试,我测试了以前做过的一个项目,用Angular写的,在首页上测试时是失败的,但是随便点开个登陆页面就直接显示了,所有用这个方法也得有一定的耐心

当然对于有的网站无论你测试多少个都不行,这个时候你就得去点开Sources去读代码了

对于不同得框架估计有不同的引用文件,还是慢慢细心得取找,我找这个页面的登陆界面,然后发现了它请求接口的地方有他框架的调用,所有才确定这个网站的框架

所有得出了这个网站得前端js框架用得是Zepto,当然这个只是我得解决方案,也许大佬有更好得解决方法,求分享

总结:我反正觉得这个技能貌似没什么卵用,但老师给活了总不能不干,就这样吧

如何通过网页获取该网站的js框架相关推荐

  1. 获取来源网站php,js实现获取网站搜索来源代码

    本文主要和大家分享js实现获取网站搜索来源代码,把以下代码引入所有页面,即可实现收集系统来源的功能,在任意页面中都可以使用全局的统一的来源信息,希望能帮助到大家.var args = { mySite ...

  2. [转载]从受欢迎角度分析哪些美国主流网站使用了哪些JS框架

    哪些JavaScript框架是最常见,使用最频繁的? 要回答这个问题,我们对大约200个美国主流网站进行了调研,检查他们是否使用了JavaScript框架?如果使用,那么他们选用什么样的框架?在这里, ...

  3. 借鉴一些关于js框架的东西

    八款Js框架介绍及比较,Dojo .Scriptaculous .Prototype .yui-ext .Jquery .Mochikit.mootools .moo.fx,componentartu ...

  4. js 获取当前网站域名的方法

    上午在做一个小项目时,需要从后台取到网页的路径并在前台用JS代码组合成网址再跳转.难度不是很大,主要是需要用到 js 代码获取当前网址的主域名,那么这篇博文,飞鸟慕鱼博客就来和大家说一说,js获取当前 ...

  5. html 当前域名,js 获取当前网站域名的方法

    上午在做一个小项目时,需要从后台取到网页的路径并在前台用JS代码组合成网址再跳转.难度不是很大,主要是需要用到 js 代码获取当前网址的主域名,那么这篇博文,飞鸟慕鱼博客就来和大家说一说,js获取当前 ...

  6. 快速获取一个网站的所有资源,图片,html,css,js......扒站,仿站必备工具

    今天介绍一款软件,可以快速获取一个网站的所有资源,图片,html,css,js...... 以获取某车官网为例 我来展示一下这个软件的功能. 输入网站地址和网站要保存的文件夹 如果网站名称后我们可以扫 ...

  7. Python3-抓取某翻译网页 获取js数据

    #抓取有道翻译网页 获取js数据 #找接口,至少尝试三次以上 from urllib import parse,request import time,random import hashlib im ...

  8. php获取远程网页地址吗,php怎么获取远程网站上的图片的地址?有什么思路吗?...

    php怎么获取远程网站上的图片的地址?有什么思路吗? 比如获取百度的背景图片的路径 https://ss0.baidu.com/7Po3dSag_xI4khGko9WTAnF6hhy/super/cr ...

  9. 如何直接获取绝大部分网站的顶部title栏图标、logo(非js获取)

    在你想获取的网站后面加 /favicon.ico 如 https://www.baidu.com/favicon.ico https://www.taobao.com/favicon.ico http ...

  10. ❤送女朋友生日快乐祝福网页制作❤(HTML+CSS+JS)

    ❤女朋友生日快乐祝福网页制作❤(HTML+CSS+JS) 程序员情人节表白网页, 生日祝福网页制作 ❤520/表白/七夕情人节/求婚❤专用html5+css3+js 生日快乐网站模板 HTML生日快乐 ...

最新文章

  1. 远程访问,文件的压缩,ip地址的设置(9,11,12unit)
  2. FATAL ERROR: Could not find ./bin/my_print_defaults
  3. python有趣代码-Python有哪些有趣的代码呢,这些代码让
  4. python项目ImportError: Plotly express requires pandas to be installed.解决方案
  5. Windows下安装并设置Redis
  6. Elasticsearch Java 操作client
  7. CasperJS基于PhantomJS抓取页面
  8. python数据分析知识点_Python数据分析--Pandas知识点(三)
  9. windows共享关闭密码保护是灰色的
  10. 买房后每月还贷是什么感觉?
  11. NeurIPS、COLING顶会亮点有哪些 | 一周学术精选
  12. 日本初创公司Elix正在使用AI研究COVID-19药物
  13. add_subplot()--matplotlib
  14. 页面中的icon小图标,下载+设置
  15. 如何做好软件开发项目的需求分析
  16. MySQL性能调优-使用ROLLUP代替UNION ALL
  17. 阿里数据分析师面试准备二:对阿里数据分析师岗位的理解
  18. xps15 9500加装1T硬盘
  19. 「学习笔记」自适应辛普森法
  20. 用邻接表dfs和bfs图

热门文章

  1. 前端的长度单位有哪些
  2. 数据文件online和offline
  3. 面试题之__ 星际穿越(java实现)
  4. 采购者具体负责的问题
  5. 山海演武传·黄道·第一卷 雏龙惊蛰 第二十五 ~ 二十六章 赤龙与紫龙
  6. TCP连接建立的步骤
  7. docker配置国内加速器的两种方法
  8. python窗口截图快捷键_windows下实现快捷键截图小工具
  9. 在centos虚拟机中修改IP地址
  10. 【C++11】之 emplace_back() 与 push_back() 的区别