簡體   English   中英

使用ASP.NET從第二個文件調用JS函數

[英]Calling a JS function from a second file using ASP.NET

我有一個ASP.NET Web應用程序,它使用大型Javascript文件來啟用前端功能。 問題是,由於此Web應用程序的大小不斷增長,因此Javascript文件的大小也在不斷增加。

我想從我的主要javascript文件site.js刪除一些較大的函數,而是將它們包含在第二個文件中。 我的目標是整理主要的JS文件並提高可讀性等。

如果這是一個普通的Web應用程序,我確信我可以通過使用.getScript()來使用JQuery來實現這一點。但是我嘗試使用此函數來引入一個帶有簡單警報功能的單獨腳本,我收到一個引用錯誤,說我的警報功能未定義。 我在ASP.NET _Layout視圖中包含了這兩個腳本,但它仍然不起作用。

下面是我目前正在做的事情,我需要做些什么來調用site.js中另一個文件中保存的JS函數?

site.js

$(function() {

    $(document).ready(function() {
        $.getScript("../site2.js");

        sendAlert();
    });

    //... other js

});

site2.js

$(function() {

    function sendAlert() {
        alert("site2 file");
    }

});

_布局

<!DOCTYPE html>
<html>
<head>
    <script src="~/js/site2.js"></script>
    <script src="~/js/site.js"></script>
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.css" integrity="sha384-88btmYK8qOHy4Z2XuhkWZjUOHICKYe1eSDMwaDGOAy802OCu6PD6mwqY5OwnfGwp" crossorigin="anonymous">
    <script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js" integrity="sha384-3LK/3kTpDE/Pkp8gTNp2gR/2gOiwQ6QaO7Td0zV76UFJVhqLl4Vl3KL1We6q6wR9" crossorigin="anonymous"></script>
</head>
<body>

@RenderBody()


@RenderSection("Scripts", required: false)
</body>
</html>

我認為你可以這樣做:

$(function() {

    var script = document.createElement("script");
    script.setAttribute("type", "text/javascript");
    script.setAttribute("src", "../site2.js");
    document.getElementsByTagName("head")[0].appendChild(script);

});

干杯 - 榮

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM