2010-10-18 75 views
2

我需要在頁面開始加載之前執行一個JavaScript?我該怎麼做?首先我的腳本應該在腳本完成後執行,如果我需要我應該加載頁面,否則我不會加載它。例如,如果我的腳本重定向到另一個頁面,我不應該加載當前頁面,否則我應該加載它。如何在dom準備好之前執行javascript?

+0

從您的評論下面,我猜測腳本首先執行,但頁面的其餘部分有第二個加載,而新的HTTP請求正在等待響應。也許你可以嘗試在'

+0

這是一個壞主意,如果它是爲了安全。所有內容都發送到計算機,任何觀看流量或禁用JS的人都可以獲取內容。 – epascarello 2010-10-18 13:53:27

+0

@epascarello - 是的,我們不知道最終目的是什麼。我想這可能是一個簡單的重定向到一個JavaScript增強頁面。你是對的,如果考慮到安全性,這不是一個解決方案。但隨後任何JavaScript解決方案都會通過禁用javascript來失敗。 – user113716 2010-10-18 13:57:00

回答

3

簡單的寫在腳本標記你的腳本在body標籤的第一元素:

- 更新 - 隱藏其他網頁元素,以飽滿的寬度和高度,使用DIV

,如果你想顯示頁面,隱藏div,這將解決問題

+0

是的,我做了...但它是頁面加載後執行... – Ver 2010-10-18 13:41:54

+0

爲隱藏頁面,使用div全寬和高度,如果你想顯示頁面,隱藏div,這將解決問題 – 2010-10-18 13:47:52

0

腳本標記在遇到它們時立即執行。只需將腳本標籤提前放好,然後在條件爲真時使用重定向。掛鉤window.onload事件處理程序是如何讓JavaScript在加載時觸發的。

+0

是我的腳本儘快執行...但它加載當前頁面1秒,然後執行我的腳本... – Ver 2010-10-18 13:43:36

6

就做服務器端...

你目前的邏輯,似乎更適合在服務器端,如果你真的想完全避免頁面加載..

+0

不知道,但我想這是重定向到JavaScript的版本的網頁/網站。因此,這將取決於瀏覽器。 – user113716 2010-10-18 13:51:18

+0

@patrick,看起來這樣..我的重點主要是**加載**部分,這是不可避免的...對於*渲染*有解決方法,確實.. – 2010-10-18 13:56:07

0

是否有可能您最初只提供一個頁面,其中只包含需要在HTML文檔中執行的JavaScript代碼?然後您可以根據JavaScript的結果請求您想要的頁面。

0

您可以使用jQuery load()方法有條件地加載頁面的一部分,它在DOM準備好之前未運行腳本,但可能會實現您想要執行的操作。

1

您無法在加載頁面之前運行腳本(不會搞亂文檔類型),但可以在頁面中儘早放置腳本,即在head部分。

在腳本完成之前,您無法停止加載頁面。該頁面將繼續在後臺加載,但在腳本完成之前不會渲染。

如果您在腳本中執行重定向,頁面將停止加載,但是在等待新響應到達時已經加載的內容將會呈現。

+0

你的答案是非常有用的,但我看到谷歌正在做類似的事情,所以這些網址不斷變化。我需要在我們的網站上做同樣的事情。請讓我知道是否有任何方式或框架來實現此目標..在此先感謝.. – 2012-12-12 09:13:30

+0

@DilipRajkumar:谷歌沒有使用Javascript來重定向用戶。 – Guffa 2012-12-12 10:08:10

+0

Ohh ok ..那我該怎麼做到這一點..我有很多認證的html頁面,如果他們沒有通過身份驗證,它必須重定向到登錄頁面..請幫助.. – 2012-12-12 10:28:00

相關問題