使用具有 Mootools、jQuery 和 Twitter Bootstrap 但每个都可以关闭的 Joomla 30。
我需要检查引导程序是否存在。
对于 moo 和 jq 我们可以做
if (typeof jQuery != 'undefined') {
// do stuff
}
但是我们如何检查 Bootstrap 是否存在呢?我们如何使用 mootools 或纯 js 无库检查它?
使用具有 Mootools、jQuery 和 Twitter Bootstrap 但每个都可以关闭的 Joomla 30。
我需要检查引导程序是否存在。
对于 moo 和 jq 我们可以做
if (typeof jQuery != 'undefined') {
// do stuff
}
但是我们如何检查 Bootstrap 是否存在呢?我们如何使用 mootools 或纯 js 无库检查它?
使用 Bootstrap(比检查 jQuery)要困难得多,因为 bootstrap 不会将明确的变量泄漏到全局命名空间中。您可以做的是(a)首先检查 jQuery(因为引导程序似乎依赖于它),然后:
a) 遍历 $("link") 以检查attr("href").indexOf("/bootstrap.")>=0和/或遍历 *$("script") 以检查attr("src" ).indexOf("/bootstrap.")>=0。现在,这当然是一种非常不科学的检查方法。(注意:此检查使用 jQuery,但根据引导程序的 jQuery-dependency 应该没问题)
b) 另一个——也许更科学的——想法是检查个体特征的存在。比如说,检查($.fn.modal && $.fn.affix && $.fn.typeahead && ...)。这可能会产生误报(如果开发人员使用具有相同名称的其他插件),如果开发人员使用了引导功能的自定义组合,甚至可能会产生误报。
另一种选择是检查典型的 CSS 类,如“.form-horizontal”和“.pre-scrollable”,方法是将它们分配给临时元素并以编程方式检查它们的运行时样式。但这可能有点困难,如果开发人员自定义了样式,也可能导致误报/否定。
所以我想没有简单的答案......
如果有人有更好的解决方案,我想我会资助一个解决方案,请告知
这是在 mootools domready 中
if((typeof jQuery == 'function' && typeof jQuery.fn.popover == 'undefined') || (typeof jQuery == 'undefined')){
// BS is not here
}
我们可以检查其他引导函数,如 jQuery.fn.tooltip
,就像说这是 Joomla 3.0 版本的引导程序特有的,因为它的所有插件都在 1 分钟文件中,
你能编辑你的身体标签吗?然后你可以添加一个类似的数据属性data-bootstrap="1"
并检查它是否存在,或者甚至在0
需要时将值更改为。