我在 Firefox 移動和 chrome 移動瀏覽器上進行了測驗。在計算機瀏覽器上完美運行
這是我的代碼ready()和load()事件方法:
$(document).ready(function(){
$(window).on('load hashchange', function(event) {
alert();
});
});
頁面加載完成后為什么alert()不作業。
這是我的另一個代碼:
$(function({
$.ajaxSetup({
headers : {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
});
$(window).on('load hashchange', function(event) {
$.ajax({
//ajax request faild due to csrf token mismatch
});
});
我沒有X-CSRF-TOKEN在 chrome devtools 上找到任何請求標頭。
根據w3schools '該ready()方法不應與<body onl oad="">'一起使用。但我沒有使用任何 html 行內load事件。請幫我找出這個問題。
我在我的專案中使用 jquery v3.6.0。我還使用 USB 遠程除錯來檢查請求標頭。提前致謝
uj5u.com熱心網友回復:
在Chrome 桌面 之前$(document).ready(fn)會運行. $(window).on('load', fn)
在桌面/移動 Firefox 和移動 Chrome 中,ready在. load
嘗試:
const print = (s) => out.innerHTML = '\n' s;
$(document).ready(function() { print('ready'); });
$(window).on('load', function() { print('load'); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<pre id="out"></pre>
因此,對于具有某種時間相關耦合的代碼,您不應該依賴他們的順序。
例如,您可以同時在readyor上load運行,甚至可以.ajaxSetup直接運行(不包裝到 a 中ready)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/517747.html
上一篇:fsolve與多個線性方程
