[英]Need jQuery opposite to document.ready
我需要一個可以在頁面加載之前觸發一些JavaScript代碼的函數。 與document.ready相反
有任何想法嗎?
謝謝!
洛朗
<html>
<head>
<script type="text/javascript">
//code here will run when encountered...
//to ensure jQuery not loaded you can do this:
if ( typeof jQuery == undefined ){
//jQuery be like not there.
}
</script>
<title>My Page</title>
</head>
<body>
</body>
</html>
您可以直接在引用任何其他腳本之前直接運行代碼(如果您不處理異步任務,那應該沒問題)。
您可以使用IOC或啟動腳本來加載庫,這應該很容易。 在像AngularJS這樣的框架中,您本機具有此功能,但是請查看RequireJS例如。
使用ServiceWorker怎么樣? 同樣,這取決於您要實現的目標。
jQuery沒有內置任何功能,但是您可以編寫一個插件來實現。 只需將代碼放在頁面頂部
(function($){
$.fn.notReady = function(func){
return func();
}
})(jQuery);
$(document).notReady(function(){
alert("Hello World!");
});
您也可以使用Vanilla JS框架而不是jQuery。 它是跨平台的,並且內置了此功能。
jQuery $ .holdReady()方法,該方法保存或釋放 jQuery ready事件的執行。
例:
$.holdReady(true);
// your javascript code before the ready event
$.holdReady(false);
來自jQuery文檔
$ .holdReady()方法允許調用者延遲jQuery的ready事件。 動態腳本加載程序通常會使用此高級功能,即使DOM可能已就緒,它們也希望在允許ready事件發生之前先加載jQuery插件等其他JavaScript。 必須在文檔的<head>
,例如在jQuery腳本標記之后的<head>
立即調用此方法。 在ready事件已經觸發后調用此方法將無效。
要延遲就緒事件,請首先調用$ .holdReady(true) 。 當應釋放就緒事件以執行時,請調用$ .holdReady(false) 。 請注意,可以在ready事件中放置多個保留,每個$ .holdReady(true)調用保留一個。 在釋放具有相應數量的$ .holdReady(false)的所有保留並滿足正常文檔就緒條件之前,ready事件實際上不會觸發。 (請參閱准備好以獲取更多信息。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.