gpt4 book ai didi

asp.net - 为什么在整页回发后我的 javascript 会从浏览器缓存中丢失?

转载 作者:行者123 更新时间:2023-11-28 16:38:08 25 4
gpt4 key购买 nike

我有一个外部 javascript 文件,我将其包含到我的页面后面的代码中(如下所示)。

我的问题是,当我的页面进行回发(不是部分回发)时,我使用 FireBug 检查加载的脚本,并且回发后在列表中看不到 javascript 文件。我假设一旦它在第一次加载时包含到页面中,浏览器就会缓存它,这样我就不需要重新包含它。

我做错了什么?

我包含脚本的方式在这里:

protected override void OnInit(EventArgs e)
{

if (this.Page.IsPostBack==false)
{
if (this.Page.ClientScript.IsClientScriptIncludeRegistered("ctlPalletDetail")==false)
{
string guidParamToHackBrowserCaching = System.Guid.NewGuid().ToString();
this.Page.ClientScript.RegisterClientScriptInclude("ctlPalletDetail", ResolveUrl(String.Format("~/clientScripts/ctlLtlRequestDetail.js?par={0}",guidParamToHackBrowserCaching)));
}
}

base.OnInit(e);
}

最佳答案

浏览器缓存它,以防止在回发时再次下载。但您仍然需要在页面上注册脚本,以告诉浏览器在页面中实际使用缓存的脚本。

或者换句话说:在服务器上注册脚本将在所提供的页面上呈现一个 <script> 标记,该标记将告诉浏览器实际使用该脚本文件。

脚本是否缓存在本地与客户端没有任何关系。如果脚本尚未缓存,则浏览器将下载它。如果它被缓存,它不会使用它,除非你告诉它(通过 <script> 标签)

关于asp.net - 为什么在整页回发后我的 javascript 会从浏览器缓存中丢失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2689763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com