如何检测JavaScript使用的Bootstrap版本?

Ale*_*rty 23 javascript css versioning twitter-bootstrap twitter-bootstrap-3

我一直在寻找Bootstrap 3 中的CSSJavaScript.在一个常见的别名下没有任何模块化.对于JavaScript,它被注入到jQuery的原型中......

如何使用JavaScript从第三方插件/库的角度检测用户网页中包含哪个版本的Bootstrap?

Kuz*_*bko 35

可以通过插件构造函数的VERSION属性访问每个Bootstrap的jQuery插件的版本

$.fn.tooltip.Constructor.VERSION
Run Code Online (Sandbox Code Playgroud)


Mac*_*eeE 5

正如评论中所建议的那样,在Bootstrap 3 function中似乎唯一被删除的typehead,即便如此 - 似乎没有一种可靠的方法来检测网站加载的Bootstrap版本.

var bsVersion = ( typeof $.fn.typeahead !== 'undefined' ? '2.3.2' : '3.0.0' );
Run Code Online (Sandbox Code Playgroud)

  • 如果不同的库使用类型为Twitter Typeahead(与不推荐的Twitter Bootstrap typeahead不同),则会出现误报 (2认同)

Ili*_*sev 5

如果您想根据CSS文件中的注释获取Bootstrap 的版本,您可以使用以下代码。它已经过测试,以确保它有效。

假设其中Bootstrap's CSS file包含一条显示版本的注释(实际上总是如此):

/*!
 * Bootstrap v3.0.3 (http://getbootstrap.com)
 * Copyright 2013 Twitter, Inc.
 * Licensed under http://www.apache.org/licenses/LICENSE-2.0
 */
Run Code Online (Sandbox Code Playgroud)

记住,在使用jQuery.get()方法时,如果数据源来自不同的域、子域或协议,则请求将无法成功执行,请记住同源策略。

$(function () {
    $.get("dist/css/bootstrap.min.css", function (data) {
        var version = data.match(/v[.\d]+[.\d]/);
        alert(version);
    });
});
Run Code Online (Sandbox Code Playgroud)

在线示例

上面的在线示例基于从jsfiddle.net但不是从getbootstrap.com获取本地文件,因为已经提到的安全原因,并提取注释,在您点击 “运行”按钮后应该相应地显示该注释。

您还可以通过转到getbootstrap.com打开控制台并粘贴代码来测试它。运行后,您将看到Bootstrap的当前版本,目前为v3.0.3 。