javascript - 如何检查 Twitter Bootstrap 是否存在?

标签 javascript jquery twitter-bootstrap mootools

使用 Joomla 30,其中包含 Mootools、jQuery 和 Twitter Bootstrap,但每个都可以关闭。

我需要检查 Bootstrap 是否存在。

对于moo和jq我们可以做

if (typeof jQuery != 'undefined') {  

// do stuff
}

但是我们如何检查 Bootstrap 是否存在?我们如何使用 mootools 或纯 js no libs 来检查它?

最佳答案

这对于 Bootstrap 来说会有点困难(比方说,检查 jQuery),因为 Bootstrap 不会将明确的变量泄漏到全局命名空间中。您可以做的是 (a) 首先检查 jQuery(因为 bootstrap 似乎依赖于它),然后:

a) 迭代 $("link") 以检查 attr("href").indexOf("/bootstrap.")>=0 和/或迭代 *$("script") 来检查 attr("src").indexOf("/bootstrap.")>=0。这当然是一种非常不科学的检查方法。 (注意:此检查使用 jQuery,但根据 bootstrap 的 jQuery 依赖性,这应该没问题)

b) 另一个(也许更科学)的想法是检查单个特征是否存在。比如说,检查 ($.fn.modal && $.fn.affix && $.fn.typeahead && ...)。这可能会产生误报(如果开发人员使用具有相同名称的其他插件),甚至如果开发人员使用了 Bootstrap 功能的自定义组合,则可能会产生误报。

另一种选择是检查典型的 CSS 类,例如“.form-horizo​​ntal”和“.pre-scrollable”,方法是将它们分配给临时元素并以编程方式检查其运行时样式。但这可能会有点困难,并且如果开发人员自定义了样式,可能会导致误报/漏报。

所以我想没有简单的答案......

关于javascript - 如何检查 Twitter Bootstrap 是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12837643/

相关文章:

javascript - 如何从一个选定元素中提取多个属性?

javascript - 修复 Buggy JQuery 动画

html - masonry 不适用于 bootstrap3 的不同宽度列

尽管返回 false,Javascript 函数仍返回 url 中的哈希值

javascript - 在javascript中没有对象引用的情况下将对象数组复制到另一个数组(深层复制)

jquery - Bootstrap 在悬停时显示第 3 级菜单选项

javascript - 答案折叠在常见问题页面上的问题下

javascript - 当用户通过 webkit 取消按钮取消输入时会触发什么事件?

css - bootstrap.min.css 和 bootstrap.css 有什么区别?

html - Bootstrap 4 将菜单项转换为多选