小编soy*_*een的帖子

如何检测页面中使用的JS框架/库?

我希望能够检测页面使用的所有框架/库,以帮助理解何时动态生成内容等.

我下载并解压缩了两个Chrome扩展程序,Library DetectorAppspector的源代码.看起来他们只是打电话window.FUNCTION_NAME_HERE,例如:

'Backbone.js': function () {
  return window.Backbone && typeof(window.Backbone.sync) === 'function';
},
'Underscore.js': function () {
  return window._ && typeof(window._.identity) === 'function' &&
    window._.identity('abc') === 'abc';
},
'Spine': function () {
  return window.Spine;
},
'Angular': function () {
  return window.angular;
},
'Ning': function () {
  return window.ning;
},
'Zepto': function () {
  return window.Zepto;
}
Run Code Online (Sandbox Code Playgroud)

等等

我有几个问题:

  1. 每个框架的标识符是什么(例如"Spine","angular")?有没有办法通过AJAX或其他方式检索此信息,所以我不必手动输入它们?
  2. 我真的不明白是什么window.angular意思,除了它返回角度对象或无.我知道如果可以通过window对象访问angular函数,AngularJS已加载,但我不确定它甚至意味着什么才能成为窗口的成员函数.
  3. 为什么Backbone和Underscore的程序与其他程序不同?你怎么知道使用哪一个?
  4. 我尝试在Uber主页上运行两个扩展,它使用React,但都没有检测到React.当我尝试时console.log(window),也没有列出React对象.为什么会这样,我怎样才能在这些情况下检测到框架?

javascript dom backbone.js angularjs reactjs

5
推荐指数
1
解决办法
6344
查看次数

标签 统计

angularjs ×1

backbone.js ×1

dom ×1

javascript ×1

reactjs ×1