2011-01-26 128 views
6

這是一個棘手的問題:當你點擊一個網頁上的鏈接時,它通常會將頁面白掉(差的術語 - 我知道),但是在某些情況下,如果DOM大部分是相同的,它會在兩者之間轉換,閃爍的白色。我希望它每次都能平穩過渡的原因是我對鏈接看起來效果最好......(網頁設計)切換頁面時,如何防止屏幕閃爍白色?

那麼究竟是什麼讓頁面具有大致相同的DOM可以像這樣關閉?謝謝=)

回答

1

事實上,您的頁面在您從一個頁面導航到另一個頁面的那一刻出現白屏,我認爲您無法做任何事情,因爲有很多因素可能發揮作用(即您的web服務器的響應能力,連接互聯網的速度等等)。

但是,如果你真的想在各頁之間很好的過渡,我建議以下解決方案之一:

1)加載頁面中的iframe。從一個頁面導航到另一個頁面時,您可以使用DIV疊加顯示加載消息。加載頁面時,您可以隱藏加載消息疊加層。這可以通過在子頁面上使用jQuery.ready()事件觸發(父級無法確定子頁面是否已完全加載)。

請注意,爲了從iframed頁面控制父頁面,所有頁面應該位於同一個域(同域策略)。

2)如果導航發生在同一個應用程序域/網站中,請調查是否可以使用JQuery部分加載您的頁面內容。

-4

我不認爲這是可能的。 PDF格式轉換器只渲染跟隨您的最終html輸出... 當負載或一些與DOM交互時,Javascript總是運行。所以這是不可能的。

+0

這是可能的 - >就像我之前說過的那樣,它在某些情況下是這樣做的,我很好奇如何使它更加一致。我相信這可能是緩存,但我不積極。 – 2011-01-26 23:36:19

0

看看AJAX,因爲這通常是解決ASP.Net記憶的「回發」問題的一種方式,通常在表單提交時,屏幕會在重新加載整個頁面時閃爍。

1

發生這種情況是因爲您的網頁渲染時間過長。要優化頁面的渲染速度,請將樣式表放在頁面頂部(在<head></head>之內)和腳本在頁面底部(在</body>之前)。它爲我工作。

另外,請看看雅虎關於此主題的文章:Best Practices for Speeding Up Your Website