我遇到了一個問題(我仍然需要修復),我的整個頁面無法加載。它在元素中間被切斷。有沒有任何jQuery的檢測,如果HTML標籤沒有關閉?或頁面沒有完全加載?
是否有使用jQuery或javscript做類似的方式:
如果(某些元素還沒有載入){刷新頁面}
我想的只是把<div id="end_of_page"></div>
在底部該頁面,並檢查是否呈現,如果沒有,我會知道出了問題,可以重新加載,再試一次。
謝謝!!
我遇到了一個問題(我仍然需要修復),我的整個頁面無法加載。它在元素中間被切斷。有沒有任何jQuery的檢測,如果HTML標籤沒有關閉?或頁面沒有完全加載?
是否有使用jQuery或javscript做類似的方式:
如果(某些元素還沒有載入){刷新頁面}
我想的只是把<div id="end_of_page"></div>
在底部該頁面,並檢查是否呈現,如果沒有,我會知道出了問題,可以重新加載,再試一次。
謝謝!!
是否有辦法使用jquery或javscript做類似的事情:
if(某個元素尚未加載){刷新頁面}
你可以這樣做,是的。把這個頭部包括jQuery的經過:
<script>
jQuery(function($) {
if (!$("#end_of_page")[0]) {
// Something went wrong, load again
location.reload();
}
});
</script>
你會進入循環體(因此,強制重裝)如果end_of_page
元素不作爲時,jQuery的ready
事件觸發的存在(這意味着當頁面完成加載時)。
但是:更好迄今爲止弄清楚爲什麼你的網頁獲得通過切斷中途和解決。這種解決方法不是解決方案。
感謝您的回答!是的,相信我,我不高興我也必須這樣做! – 2012-07-08 21:48:39
您可以使用
$(document).ready(function(){
// code here
});
當頁面加載的代碼纔會運行。方便的簡寫是:
$(function(){
// code here
});
假設你的jQuery對象是$
。要完成您的要求,可以在加載函數中設置一個變量,然後使用頁面開始處設置的計時器來檢查它。如果它不在,請重新加載。我個人認爲你應該投入一些時間來計算出爲什麼你的頁面只有一半(Firebug或Chrome Inspector可能會幫你做到這一點,它可能是你的頁面中的一個資源導致它掛起,並且由於大多數HTTP請求每個主機名一次只能創建2個,所以在獲取其他請求之前可能會等待它返回)。
可能是一個服務器端的問題OR一些腳本或庫偷你的魚$
(又名:「美元」)。
我寧願建議你調試你的代碼,而不是刷新頁面試圖解決問題。
確保你的腳本是在你的文檔的head
,
和jQuery的 +您的JQ功能結束前右</body>
標籤裹着:
(function($){ /*your functions*/ })(jQuery);
添加到您的答案:在過去,我已經處理了幾兆字節的頁面,爲了改善加載時間,我決定壓縮html - 刪除空格\ t和\ n \ r - 令我驚訝,它減少了頁面大小平均在30%以上,並且改善了加載時間(這是PHP有很多很多無用的垃圾)。 – pedrofurla 2012-07-08 21:28:24
切斷聲音是服務器問題,應該在那裏檢測到。 – Bergi 2012-07-08 21:20:31
你確定這是一個HTML問題嗎?可能會有一些不正確的JavaScript?使用瀏覽器的開發人員工具檢查DOM樹是否存在任何不一致或錯誤。 – Jackson 2012-07-08 21:23:55