У меня есть этот элемент связи в моей голове в моем angularjs spa:
<link rel="apple-touch-icon" sizes="57x57" href="./images/icon/apple-icon-57x57.png">
Мне было поручено не переделывать файлы, чтобы переименовать файлы, поэтому я хотел бы сделать что-то вроде:
<link rel="apple-touch-icon" sizes="57x57" href="./images/icon/apple-icon-57x57.png?m=(some random number or date time stamp)">
так что при обновлении страницы, если произошла смена значка, он побеждает кеш и загружает текущий значок.
Но поскольку Angularjs не является серверной технологией, я не знаю, как это сделать.
Это нормально, если вы знаете, какая задача будет делать это.
контроллер:
$scope.getNumber = function() {
$scope.num = (Math.ceil(Math.random() * 9));
};
вызовите этот контроллер в свой HTML-тег:
<html ng-controller="myCtrl">
измените эту строку:
<link rel="apple-touch-icon" sizes="57x57" href="./images/icon/apple-icon-57x57.png?m={{getNumber()}}">
$scope.revision = Math.floor((1 + Math.random()) * 0x10000).toString(4);
в контроллере (который дает 4- myimage.png?m={{revision}}
версию вместо 1), а затем с помощью myimage.png?m={{revision}}
в index.html
. Работает отлично.