使用$(document).ready()和$ .getScript()完成页面加载后,加载外部脚本

时间:2019-04-08 11:08:38

标签: javascript jquery html external

正如标题所述,我想通过在网站标题而非页面底部放置 script 标签来加载脚本。

我的一个简短示例/尝试是:

HTML 文件:

removeSession: function(sessionId){
    var _this = this;
    var errormessage = 'Error! Session not delete';
    var callData = {}
    callData["sessionId"] = 0;
    swal({
        title: "Are you sure?",
        text: "Once deleted, the session will be removed.",
        icon: "warning",
        buttons: {

              cancel: {
                text: "Cancel",
                value: false,
                visible: true,
                className: "",
                closeModal: true,
              },
              confirm: {
                text: "OK",
                value: true,
                visible: true,
                className: "",
                closeModal: false
              }

        },
        dangerMode: true,
      })
      .then((isConfirm) => {
        if (!isConfirm){ return false;}


            app.apiCustomPost(apiController_data, "delete", callData , function(res){

                if(res.status=="success") {

                        swal(res.message, {
                            icon: "success",
                          });

                          _this.init();

                } else {
                        swal(errormessage, {
                            icon: "error"
                        });                     

                }
            }); 

      });

},

外部 JS 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="js/jquery-3.3.1.js">
        $(document).ready( function () {
            $.getScript("./js/script.js");
        } );
    </script>
   </head>
<body>
    <p id="para">hey there waht's up</p>
<body>
</html>

但是它不起作用。知道为什么吗?我在追独角兽吗?

1 个答案:

答案 0 :(得分:2)

按照MDN documentation

  

如果脚本元素指定了src属性,则该脚本元素的标签中不应嵌入脚本。

因此将代码移至单独的脚本标签。

<script src="js/jquery-3.3.1.js"></script> 
<script> 
    $(document).ready( function () { $.getScript("./js/script.js"); } );
</script>