如何通过网页获取该网站的js框架
昨天正在吃雞ing,3殺就快決賽圈了,突然老師丟給三個網(wǎng)站鏈接,讓我去查查他們用的什么js框架。。。
講道理,剛看到這個問題的時候我也是頭皮一麻
怎么可能通過網(wǎng)頁就能看到人家是啥框架?人家不都封裝過了嗎?
那些寫這個網(wǎng)站的都是傻×嗎?隨便就讓你看核心js框架啊?
經(jīng)過兩天的實驗和查資料,貌似也是可以看查到的,畢竟人無完人,總有百密一疏的時候。
當(dāng)然這只是我嘗試過的一些方法,我的問題解決了,但并不能保證一定可以解決所有的問題,如果遇到封裝很好的網(wǎng)站,那就認(rèn)命吧。。
剛開始去搜索的時候,別人的博客,或者論壇會給你很多的網(wǎng)站,讓你去把你的網(wǎng)站輸入進(jìn)去,就可以看到網(wǎng)站的核心技術(shù),講道理真的沒有什么卵用。
比如我嘗試的一個:https://builtwith.com/
?操作很簡單,你只需要將網(wǎng)址輸入進(jìn)去就可以,然后看看返回了什么
?這就是它返回給我的這個網(wǎng)站所使用的所有的技術(shù),但這并不是我想要的啊o((>ω< ))o
而且還有個問題就是,如果框架是ASP.NET的那么網(wǎng)頁的訪問因該有相對應(yīng)得后綴命如:.aspx? ?.ashx等等
所有我認(rèn)定這玩意在坑我.........
后來我嘗試用英文得方式在google上搜這類問題,一個告訴我要靠經(jīng)驗去獲取,就是你得多學(xué)框架,知道每個框架得特點,關(guān)鍵字,那么一眼就可以知道這個是那個框架寫的了。。。說去框架,可以看看我的另一篇博客,看看到底有多少前端框架;另外一個是在Github上貼出了代碼,用html原生的函數(shù)document.querySelector()去獲取dom的信息,其主要的原理跟第一個人意思差不多。
歸結(jié)起來就是:不同的框架有不同框架所使用的特定的keyWord,比如說在Angular中我們用 “ ng-*?”來作為特定的指令標(biāo)識,在React中我們用reactid等標(biāo)識,那么可以通過搜尋這些關(guān)鍵字的方式去獲取該網(wǎng)站的框架(當(dāng)然這個方法不是萬能的,但也是想對有效的方式之一)
代碼如下:
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寫的,在首頁上測試時是失敗的,但是隨便點開個登陸頁面就直接顯示了,所有用這個方法也得有一定的耐心
當(dāng)然對于有的網(wǎng)站無論你測試多少個都不行,這個時候你就得去點開Sources去讀代碼了
對于不同得框架估計有不同的引用文件,還是慢慢細(xì)心得取找,我找這個頁面的登陸界面,然后發(fā)現(xiàn)了它請求接口的地方有他框架的調(diào)用,所有才確定這個網(wǎng)站的框架
所有得出了這個網(wǎng)站得前端js框架用得是Zepto,當(dāng)然這個只是我得解決方案,也許大佬有更好得解決方法,求分享?
總結(jié):我反正覺得這個技能貌似沒什么卵用,但老師給活了總不能不干,就這樣吧
總結(jié)
以上是生活随笔為你收集整理的如何通过网页获取该网站的js框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java API文档
- 下一篇: 项目组自己编写的js分页标签(百度分页)