是否有相当于jquery的phpinfo?

时间:2014-06-25 15:49:19

标签: javascript jquery

服务器端背景,越来越深入客户端。

我有一个拥有大量遗产的网站,我刚接触,而我只是试图了解事情是如何运作的/可用的。

有没有办法让jquery告诉我(页面/页面)所有当前信息及其可以/正在使用的任何插件,类似于phpinfo的作用?

3 个答案:

答案 0 :(得分:0)

您可以将以下内容用于jQuery

console.log( jQuery.fn.jquery );

答案 1 :(得分:0)

直接回答你的问题,没有jQuery没有列出已安装插件的机制。

jQuery没有保留这样安装插件的注册表。 jQuery插件机制只是向jQuery原型添加一个方法(与所有其他jQuery方法一起)。因此,某些外部代理(例如插件)没有添加哪些方法的单独列表。此外,方法与特定插件之间没有一对一的对应关系,因为单个插件可以添加多种方法。

默认情况下可以创建一个主列表(对于任何特定的jQuery版本),然后枚举一个jQuery对象以找出从那时起添加了哪些方法,但是你有提前创建主列表并存储它或在加载jQuery之后立即创建主列表,然后再加载任何插件。

您可以通过检查是否在jQuery对象上查看其任何签名方法是否可用来测试是否加载了任何特定的jQuery插件。

所以,如果你真的只是想知道在任何给定页面中哪些插件可用,你可以编写一个快速函数来测试10个插件中的每一个(通过查找已知方法的存在)那些插件)并将返回已安装的列表,但这必须通过每个插件的特定知识来完成,因为没有"通用插件识别机制"因为插件只不过是一段为jQuery原型添加方法的代码。它实际上没有任何自己的身份。

答案 2 :(得分:0)

概念验证如何获取所有插件的名称

var plugins = (function() {
    var plugins = [];

    for(var plugin in jQuery.fn) {
        plugins.push(plugin)
    }

    return plugins;
}());

var filterValue = ['constructor', 'init', 'add', 'parents'] // // you must add all standard methods here

filterValue.forEach(function(value) {
    var position = function(value) {
        return plugins.indexOf(value);
    }
    while(position(value) >= 0) {
        plugins.splice(position(value), 1)
    }
})


console.log(plugins)