Ответы, приведенные выше, объясняют поведение, которое вы видите.
В ответ на «Также, как дублировать SomeObject, если простое назначение не выполняет эту работу?» - попробуйте найти cloneable
(это интерфейс Java, который обеспечивает один способ копирования объектов) и «copy constructors
» (альтернативный и, возможно, лучший подход)
Добавьте заголовки управления кэшем в ваши HTML-файлы, чтобы они каждый раз загружались с сервера:
<header>
<meta http-equiv="expires" content="0">
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
...
</header>
Затем добавляйте случайные хэши к именам файлов сценариев каждый раз, когда вы делаете новую версию, чтобы убедиться, что они не загружается из кеша:
<script src="./app.2tvsgggce45pwlhe.js" type="text/javascript"></script>
Работа над надстройками Outlook Desktop для Windows выполняется в iFrame управления веб-браузером IE. Чтобы очистить кэш открытого браузера IE, перейдите к настройкам и удалите кеш. Перезапустите свою надстройку, и она должна быть такой же хорошей, как новая.
Пользователь Outlook для веб-пользователя может запускаться в поддерживаемых браузерах. В этом случае перейдите к настройкам используемого веб-браузера и удалите кеш этого браузера.
Работа над надстройками Outlook Desktop для Mac под каким-то изменением управления веб-браузером (встроенный в Office 2016 для Mac), и как удалить кеш здесь все еще головоломка для меня.
Если ваше приложение использует объект RoamingSettings , посмотрите, сохраните ли вы Async any пользовательские свойства и удалите их, как вам нужно, с помощью saveAsync.
EDIT:
Поводом для описанных выше методов является только использование вашего / QA / dev. Для ваших клиентов вы, как разработчик, должны заботиться о кеше для файлов, которые вы изменили, при публикации новой версии. Поскольку ваша надстройка - это не что иное, как веб-сайт, используйте веб-технологии для повторного использования кеша браузера. Есть много способов добиться этого. Например, вы можете изменить расположение файлов для новой версии ...
<script src="/v1.0/Commands.js" type="text/javascript"></script>
<script src="/v1.1/Commands.js" type="text/javascript"></script>
или добавить некоторый случайный параметр в файл источников ...
<script src="Commands.js?version=a56b34a87" type="text/javascript"></script>
и т. Д. , Эти простые методы заставят браузер перезагружать содержимое файла.