使用 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-horizontal”和“.pre-scrollable”,方法是将它们分配给临时元素并以编程方式检查其运行时样式。但这可能会有点困难,并且如果开发人员自定义了样式,也可能会导致误报/漏报。
所以我想没有简单的答案......
关于javascript - 如何检查 Twitter Bootstrap 是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12837643/