JQuery F5 后加载
JQuery loads after F5
我在我的 asp.net 项目中使用了以下脚本。一切正常,但在将我的项目发布到 IIS 后,一些用户抱怨渲染问题。如果他们按 F5 则一切正常,他们无需再次按 F5 即可正确查看控件渲染。
这是正常行为还是有解决方法?
.js文件
var prm = Sys.WebForms.PageRequestManager.getInstance();
$(function () {
$("#uc_DDiscipline select").multiselect({
header: false,
multiple: false,
selectedList: 1,
minWidth: 265
});
});
prm.add_endRequest(function () {
$('.ui-multiselect-menu').each(function () {
$(this).remove();
});
$("#uc_DDiscipline select").multiselect({
header: "-- View All --",
multiple: false,
noneSelectedText: "-- View All --",
selectedList: 1,
minWidth: 265
});
});
这是正常现象。部署后,浏览器仍在缓存和使用旧的 .js 文件。按 F5 后,当前的 .js 被下载,一切似乎又正常了。
你可以做的是向 .js 文件名添加一个参数
例如:
/Scripts/MyScrjpt.js?deployedOn=20150223
浏览器认为有新文件需要下载。因此,每次部署应用程序时都必须更改参数值。
我在我的 asp.net 项目中使用了以下脚本。一切正常,但在将我的项目发布到 IIS 后,一些用户抱怨渲染问题。如果他们按 F5 则一切正常,他们无需再次按 F5 即可正确查看控件渲染。
这是正常行为还是有解决方法?
.js文件
var prm = Sys.WebForms.PageRequestManager.getInstance();
$(function () {
$("#uc_DDiscipline select").multiselect({
header: false,
multiple: false,
selectedList: 1,
minWidth: 265
});
});
prm.add_endRequest(function () {
$('.ui-multiselect-menu').each(function () {
$(this).remove();
});
$("#uc_DDiscipline select").multiselect({
header: "-- View All --",
multiple: false,
noneSelectedText: "-- View All --",
selectedList: 1,
minWidth: 265
});
});
这是正常现象。部署后,浏览器仍在缓存和使用旧的 .js 文件。按 F5 后,当前的 .js 被下载,一切似乎又正常了。
你可以做的是向 .js 文件名添加一个参数 例如:
/Scripts/MyScrjpt.js?deployedOn=20150223
浏览器认为有新文件需要下载。因此,每次部署应用程序时都必须更改参数值。