我正在使用新版本的Bootstrap和jQuery
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
但是我在IE8中收到以下错误
Message: 'a.support.transition.end' is null or not an object
Line: 7
Char: 3824
Code: 0
URI: http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js
我发现了以下https://github.com/twbs/bootstrap/issues/7295 ..但是我想知道为什么更多人没有体验到这个问题。为什么IE8中的bootstrap似乎坏了?
答案 0 :(得分:6)
问题在于开发人员忘记在3.0.3版本中检查$.support.transition
,该版本仅在支持CSS过渡的浏览器中设置。相反,他们直接转到$.support.transition.end
,因为$.support.transition
为空,因此无法在IE8中运行。
在将 master 分支标记为新版本之前,您可以尝试使用此修补...
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<script>
+function($) {
'use strict';
$.fn.carousel.Constructor.prototype.pause = function(e) {
e || (this.paused = true)
if (this.$element.find('.next, .prev').length && $.support.transition) {
this.$element.trigger($.support.transition.end)
this.cycle(true)
}
this.interval = clearInterval(this.interval)
return this
}
}(jQuery);
</script>
这是直接从master branch解除的,正如您所看到的,它首先检查$.support.transition
。
仅供参考,它仅在一周前在主人中修复;) - https://github.com/twbs/bootstrap/commit/ad64b0acc826a1ad1b1adc719960ac3020cc3539