我的代码取决于Bootstrap 4和Popper.js。 Bootstrap有一个捆绑的JS文件,其中包含Popper.js,但是我不知道如何确定捆绑的还是非捆绑的版本已加载。
如果bootstrap.js和popper.js都分别包含在内,我可以测试是否定义了Popper
,但是如果包含bootstrap.bundle.js Popper
则没有定义,但是Bootstrap组件依靠Popper仍然可以工作。
我可以使用typeof $().modal
之类的东西来检查是否包含引导程序,但是捆绑式和非捆绑式Verison都是如此。
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap Bundle Test</title>
<!-- Load jQuery JS -->
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="crossorigin="anonymous"></script>
<!-- Load Bootstrap Bundled JS -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js" integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
console.log('jQuery type is: ' + typeof $);
console.log('Bootstrap modal type is: ' + typeof $().modal);
console.log('Popper type is: ' + typeof Popper);
});
</script>
</head>
<body>
</body>
</html>
在此示例中,我希望Popper
是一个函数,因为它包含在Bootstrap捆绑包中,但是它是undefined
。
答案 0 :(得分:0)
您可以尝试检查全局空间中是否有合适的方法。如果它是对的,那么您就知道bootstrap.js和popper.js都分别包含在内,否则就是bootstrap.bundle.js