如何判断bootstrap.js或bootstrap.bundle.js是否已加载?

时间:2019-05-27 04:05:09

标签: javascript twitter-bootstrap bootstrap-4 popper.js

我的代码取决于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

1 个答案:

答案 0 :(得分:0)

您可以尝试检查全局空间中是否有合适的方法。如果它是对的,那么您就知道bootstrap.js和popper.js都分别包含在内,否则就是bootstrap.bundle.js