Safari の Webkit レンダリング エンジンは、最初はコンテンツの変更を認識していないようです。少なくとも、以前の HTML コンテンツを完全に削除するには不十分です。ウィンドウを最小化して復元すると、ブラウザーのレンダリング エンジンで再描画イベントが開始されます。
私は 2 つの方法を検討すると思います。まず、現在の「コンテンツ」ノードの代わりに iframe を使用できますか? ブラウザーは IFrame が変更されることを期待していますが、ご覧のとおり、DIV やその他の要素のコンテンツを変更するのが常に得意というわけではありません。
Secondly, perhaps by modifying the scroll position as suggested earlier. You could simply move the scroll back to 0 as suggested or if that is to obtrusive you could try to restore the scroll after the content change. Subtract the height of the old content node from the current scroll position (reseting the browser's scroll to the content node's 0), change the node content, then add the new node's height to the scroll position.
Palehorse is right though (I can't vote his answer up at the moment - no points) an abstraction library like jQuery, Dojo, or even Prototype can often help with these matters. Especially if you see your page / site moving beyond simple DOM manipulation you'll find the tools and enhancements provided by libraries to be a huge help.