staticなHTMLが一瞬表示される

knockoutを使ってHTMLのDOMを動的に書き換えて表示を変更する、という今時当たり前なプログラムを組んでいるのだが、初期画面の表示(または画面遷移時の初期表示)が気に食わない。静的なHTMLのうち、本来初期画面では表示されるべきでないものが、一瞬表示されてしまう。そのDOM要素を初期画面で表示すべきかどうかは、knockoutのdatabindのviewなりifなりの次に来る式を評価するまで分からない。つまり静的HTMLの読み込み(表示)→knockout databindの評価の順で実行されるため、その時点で非表示としたいものを表示してしまって、後から非表示処理が走っている模様。このため一瞬のちらつき表示が起こるとの推察。こんなものはググればすぐに解決するだろうと思ったが、そんなに甘くはなかった。何故かうまくいかない。世間の解決策は、まずCSSで全体を非表示としておき、knockout実行後に表示を元に戻すというものが多い。で、それに倣ってやってみたが何故か上手くいかない。
結局試行錯誤の末、CSSでbodyをhiddenとし、knockout(っていうかjQueryっていうかJS)の最後でbodyをvisibleにする、という策に倣うことでやっとうまく行った。と、思ったがこれでうまく行くのはchromeIE。(safariは試していないから分からない。)何故かfirefoxだとダメ。しかも、常にダメというわけではなく、何度かに1度ダメ、という感じ。何故?firefoxの内部的な処理順序の問題??誰か知ってたら教えて。