gpt4 book ai didi

javascript - 避免在 IE 中缓存 angularJS 局部 View

转载 作者:行者123 更新时间:2023-11-29 19:37:15 25 4
gpt4 key购买 nike

我正在开发一个也有一些 angularJS 的 ASP.NET MVC 应用程序。我有一个主页,其中有不同的选项卡,当您单击它们时,它们会加载一个 Angular 局部 View 。这是主页的样子:

{ ... }     
<div class="widget-div" ng-controller="mainController">
<div class="widget-body">
<div class="tabs-left">
<ul id="demo-pill-nav" class="nav nav-tabs tabs-left" style="width: 160px">
<li ng-class="getMenuClass('/search')">
<a href="javascript:void(0);" ng-click="selectPage('search')">Search</a>
</li>
<li ng-class="getMenuClass('/addressVerification')">
<a href="javascript:void(0);" ng-click="selectPage('addressVerification')">Address Verification</a>
</li>
<li ng-class="getMenuClass('/dashboard')">
<a href="javascript:void(0);" ng-click="selectPage('dashboard')">Dashboard</a>
</li>
<li ng-class="getMenuClass('/editProfile')">
<a href="javascript:void(0);" ng-click="selectPage('editProfile')">Update Profile</a>
</li>
</ul>
<div class="tab-content">
<div class="active tab-pane">
<ng:view />
</div>
</div>
</div>
</div>
</div>
{ ... }

在主 Controller 中,selectPage 方法如下所示:

$scope.selectPage = function (page) {
//not relevant code removed here
$location.path("/" + page);
};

当然,我已经定义了这样的路线:

$routeProvider.when("/search", {
templateUrl: "/Scripts/app/views/search.html"
});

现在,我需要的是不缓存这些局部 View ,至少在开发过程中。为此,我使用了提供的方法 here :

myApp.run(function($rootScope, $templateCache) {
$rootScope.$on('$viewContentLoaded', function() {
$templateCache.removeAll();
});
});

除了在 Internet Explorer 中,它工作完美,即使在按下 Ctrl+F5 时,它也总是会加载缓存的版本。

此外,我尝试在布局 html 中设置 HTTP header ,如下所示:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />

但这没有用。

所以我的问题是是否有任何方法可以避免这种行为。

最佳答案

我找到了一个解决方法,这正是我需要的。像这样向路由添加版本号:

$routeProvider.when("/search", {
templateUrl: "/Scripts/app/views/search.html" + version
});

其中版本是一个字符串,如:?v1.0.0

这样,每次我进行更改时,我只需更改版本号,当点击该页面时,将再次下载部分 View 。

关于javascript - 避免在 IE 中缓存 angularJS 局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24765422/

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