2016-05-19 60 views
0

我試圖用JavaScript隱藏我的預加載程序,一旦DOM和至少頂層內容被加載。問題是我的頁面有幾個iframe,這可能會使進程減慢很多。

我的理解是,如果我使用jQuery的$(document).ready來隱藏preloader,它將被隱藏太快。另一方面,如果我使用$(window).load,等待時間可能太長。那麼,有沒有一箇中間解決方案, - 有點像window.load,但不等待iframes?

編輯: 我的網頁上有像Facebook一樣的內容按鈕Google Translate和其他一些通過iframe工作的腳本。這些都是不是關鍵元素,而我不會等待它們完全加載它們

另一方面,像Bootstrap,jQuery等CSS文件對於演示文件來說是非常重要的,因此要顯示頁面(隱藏預加載器)而沒有首先加載這些頁面是不成熟的。

謝謝。

回答

1

您可以使用$(document).ready來確定在隱藏加載器之前是否加載了某個特定元素。

或者,如果您有部分視圖,請在其中一個頁面中使用$(document).ready函數,然後執行加載程序隱藏作業。

由於您沒有提供更多信息,因此這些與真實解決方案相比更接近猜測。

0

我認爲你正在尋找document.onload,當DOM樹準備就緒時,它會觸發。我相信它會在iframes之前觸發,它們都會獲得自己的onload回調/事件處理程序。

0

您也可以嘗試將腳本標記放置在html文件的末尾,而不必在onloadready函數中開始。這會導致它加載html內容,然後激發Javascript。

編輯

一個以爲只是發生在我身上,可能會或可能不會有用。您可能想知道何時需要執行腳本。無論您使用哪種瀏覽器,請檢查開發控制檯的網絡選項卡。可能會有一些其他元素的onload函數用於包裝代碼。例如,如果您有一個背景圖像,您希望在代碼執行之前確保加載,則可能需要使用onload。

正如佩特雷所說,問題中缺乏信息使得回答困難。

相關問題