Привет! Подскажите, пожалуйста, какие существуют варианты для обновления кэшированного JavaScript в сессиях браузера пользователей, когда я изменяю URL изображений и/или ссылки в теге <href> в этом скрипте, который добавляется как пользовательский HTML в секцию Head нового компонента темы:
При текущем коде виджета пользователям требуется обновить страницу в браузере, чтобы увидеть новые изображения или изменённые ссылки. Я предполагал, что обновление произойдёт автоматически через какой-то AJAX-метод в кэше браузера, как это происходит с изменениями CSS, которые отображаются мгновенно без перезагрузки страницы, но для пользовательских скриптов в Head это не работает.
Я заметил, что плагин Ad для рекламы на сайте каким-то образом принудительно обновляет содержимое сразу после изменения HTML рекламы. В файле house-ads.js плагина House Ads при поиске по ключевому слову refresh я нашёл следующее:
@observes("refreshOnChange")
refreshAd() {
if (this.get("listLoading")) {
return;
}
this.set("adHtml", this.chooseAdHtml());
},
didInsertElement() {
this._super(...arguments);
if (!this.get("showAd")) {
return;
}
if (this.get("listLoading")) {
return;
}
if (adIndex.topic_list_top === null) {
// начать с случайного места в инвентаре рекламы
Object.keys(adIndex).forEach((placement) => {
const adNames = this.adsNamesForSlot(placement);
adIndex[placement] = Math.floor(Math.random() * adNames.length);
});
}
this.refreshAd();
},
Можно ли каким-то образом применить аналогичный метод для моего пользовательского JavaScript-плагина?