我有一個遺留代碼使用下面的代碼提交一些數據。SetTimeout在瀏覽器關閉
setTimeout(function()
{
SubmitForm();
},
0);
上面的塊是在提交方法中。即使在瀏覽器關閉的情況下,我也想執行此代碼,所以我在onbeforeunload中調用相同的Submit方法,但它不執行SubmitForm函數。任何見解?
我有一個遺留代碼使用下面的代碼提交一些數據。SetTimeout在瀏覽器關閉
setTimeout(function()
{
SubmitForm();
},
0);
上面的塊是在提交方法中。即使在瀏覽器關閉的情況下,我也想執行此代碼,所以我在onbeforeunload中調用相同的Submit方法,但它不執行SubmitForm函數。任何見解?
你不能那樣做。
如果瀏覽器已關閉(或正在關閉),則不需要等待表單文章的等待時間。
關閉後,您無法在瀏覽器(或任何JavaSrcipt VM)中運行JavaScript代碼。
如果瀏覽器已關閉,則無法執行任何操作,因爲沒有任何內容可以運行您的代碼。相反,您可以使用所謂的非異步ajax請求,而不使用setTimeout
。這可以使用jQuery Library輕鬆完成。
$(window).on('beforeunload',function(){
$.ajax({
method: "POST",
url: "[insert your php file path here]",
data: $('#myForm').serialize(),
async: false,
});
});
這將在瀏覽器關閉之前運行,或者用戶將離開您的網站。
你不能那樣做。 – SLaks