Похоже, что движок рендеринга webkit в Safari сначала не распознает изменение содержимого, по крайней мере, недостаточно для удаления предыдущего HTML-содержимого. Минимизация и последующее восстановление окон инициирует событие перерисовки в механизме рендеринга браузера.
Я думаю, что я исследую 2 пути: сначала я мог бы использовать iframe вместо текущего узла 'content'? Браузеры ожидают изменения IFrames, однако, как вы видите, они не всегда так хороши в изменении содержимого DIV или других элементов.
Во-вторых, возможно, изменив положение прокрутки, как предлагалось ранее. Вы можете просто переместить прокрутку обратно на 0, как предложено, или, если это навязчиво, вы можете попытаться восстановить прокрутку после изменения содержимого. Вычтите высоту старого узла содержимого из текущей позиции прокрутки (сбросив прокрутку браузера до 0 узла содержимого), измените содержимое узла, затем добавьте высоту нового узла в положение прокрутки.
Палехорс прав, хотя (я не могу сейчас оценить его ответ - нет баллов) библиотека абстракций, такая как jQuery, Dojo или даже Prototype, часто может помочь в этих вопросах. Особенно, если вы видите, что ваша страница / сайт выходит за рамки простого манипулирования DOM, вы найдете огромную помощь для инструментов и улучшений, предоставляемых библиотеками.