我试图强制浏览器在有新版本时重新下载我的js脚本:我有一个http-inspector
:
'response': function (response) {
return $injector.invoke(['$q','$window','$state', function ($q, $window, $state) {
if (response.status === 205) {
if (!$state.is('login')){
$window.location.href = '#/login';
$window.location.reload();
}
return $q.reject(response);
}
return response;
}]);
},
当服务器返回205时,表示有新的脚本版本,我希望用户重新下载
这里的解决方案正在解决,但问题是窗口是changin然后重新加载invoke意味着href和reload之间有一个闪烁。
我尝试使用$state.go('login', {}, {reload: true})
,但这只是重新加载控制器而不是页面..
这是我的index.html的一部分:
<head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
.... more head data
</head>
<body>
<ui-view></ui-view>
//This is the script i want toreload!
<script src="my-script.js">
</body>
如何强制重新下载脚本?或者我怎么能避免那个眨眼?