"JavaScript Hell" - Like "DLL Hell"

"JavaScript Hell" - Like "DLL Hell"

本文关键字:quot Hell DLL Like JavaScript      更新时间:2023-09-26

我有一个 ASP.NET 网页,看起来像这样:

<%@ Page Language="VB" MasterPageFile="~/LGMaster.master" AutoEventWireup="false" Inherits="com.Genie.PresentationLayer.Web.frmPNList" title="Primary Nominals results list - RESTRICTED" Codebehind="frmPNList.aspx.vb" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<script type="text/javascript"  src="Javascript/json2.js"></script>
<script type="text/javascript"  src="Javascript/massusnchange1014.js"></script>
<script type="text/javascript" src="Javascript/jquery-1.11.1.min.js"></script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:PlaceHolder runat="server" ID="NextBits" />
    <%--<input id="btnSave"  type="button" value="Group USN Change" onclick="GroupUSNChange();"/>--%>
    <%--<asp:Button ID="ButtonSetUSN" runat="server" Text="Set USN" OnClientClick="GetNewUSN()"></asp:Button>--%>     
    <asp:HiddenField ID="hfUSN" runat="server" ClientIDMode="Static" />
    <asp:HiddenField ID="hfGenieConnectionString" ClientIDMode="Static"  runat="server" />
    <asp:HiddenField ID="hfUserName" ClientIDMode="Static"  runat="server" />
    <button onclick="GetNewUSN()">Change USN of Group</button>
</asp:Content>

每次我更改:massusnchange1014.js我都必须将其增加1,例如下一个修订版将是:massusnchange1015.js,否则我会收到错误,暗示 asp.net 网页正在使用最新版本。

这是为什么呢?

因为您的浏览器通过缓存内容来帮助您。就像以前看到的图片一样,浏览器会缓存它为URL返回的响应。如果 URL 发生更改,它会再次获取内容。否则,它不知道你已经改变了它。

您有几个选择。

使用ASP。NET的ClientScriptManager捆绑你的JS——它处理这样的变化。

如果需要它们保留为单个文件,则可以在 URL 上附加文件中的时间戳以生成新的 URL。