Вот видеоклип проблемы:
https://www.loom.com/share/6fad1780309d4537a48315ecd5f769d0
Обратите внимание на Chrome, изображение в середине обновляется, когда я нажимаю на изображения на левой боковой панели.
В Safari, однако, после нажатия на изображение на левой боковой панели, я должен либо переключить экраны, либо переключить вкладки браузера для отображения нового изображения.
Я пытался проверить консоль на наличие ошибок, но никакой помощи оттуда не было.
«Боковая панель»:
<div ng-if="$ctrl.loadedMocks.includes(mock)"
ng-click="$ctrl.onClick(mock, $index)"
class="svg-overlay" style="">
</div>
HTML-код средней картинки, которая не отображается сразу в Safari:
<div ng-if="productMock.isSelected">
<object
ng-if="productMock.url.toLowerCase().includes('mockupsvg')"
id="productImageId"
ng-attr-data="{{productMock.url}}"
gl-load="prodImageLoaded()"
class="img-responsive prod-img img-responsive-fix"
style="width: 470px; height: 570px;"
type="image/svg+xml"
></object>
{* loadingSpinner(ngShow="prodLoading") *}
</div>
Вот функция 'onClick' JS:
this.onClick = (url, index) => {
this.selected = index;
this.model.isSelected = true;
$scope.$emit('mocks.selectedItem', {
url: url
});
}
Ожидаемый результат заключается в том, что соответствующее изображение отображается в теге в Safari при нажатии, как в Chrome. Однако кажется, что изображение не обновляется в Safari, пока я не переключаю экраны на своем ЦП или не переключаюсь между различными вкладками в Safari.