如何检查Twitter Bootstrap是否存在?

时间:2012-10-11 10:35:43

标签: javascript jquery twitter-bootstrap mootools

使用Joomla 30,它有Mootools,jQuery和Twitter Bootstrap,但每个都可以关闭。

我需要检查是否存在bootstrap。

对于moo和jq,我们可以做到

if (typeof jQuery != 'undefined') {  

// do stuff
}

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

3 个答案:

答案 0 :(得分:2)

使用Bootstrap(比检查jQuery)要困难得多,因为bootstrap不会将确定变量泄漏到全局命名空间中。你可以做的是(a)首先检查jQuery(因为bootstrap似乎依赖于它),然后是:

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

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

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

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

答案 1 :(得分:0)

我认为如果有人有更好的解决方案我会资助解决方案

这是mootools domready

if((typeof jQuery == 'function' && typeof jQuery.fn.popover == 'undefined') || (typeof jQuery == 'undefined')){

//  BS is not here 

}

我们可以查看其他的bootstrap函数 jQuery.fn.tooltip
 ,就像说这是Joomla 3.0版本的bootstrap,因为它的所有插件都在1分钟的文件中,

答案 2 :(得分:0)

你可以编辑你的身体标签吗?然后,您可以添加data-bootstrap="1"之类的数据属性并检查它是否存在,如果需要,甚至可以将值更改为0