![](/img/trans.png)
[英]jQuery load() error : Synchronous XMLHttpRequest on the main thread is deprecated
[英]jquery load is triggering Synchronous XMLHttpRequest on the main thread is deprecated warning
$('#in-view-contents').load("/browse/".concat(selectedId), function(responseData){
var contentsLabelEl = document.getElementById("refined-contents-container");
contentsLabelEl.style.display = "block";
var arrayOfReloadScripts = ["/js/rateable.js", "/js/siteWide.js", "/js/search/searchEvents.js"];
reloadScripts(arrayOfReloadScripts);
});
和reloadScripts僅遍歷數組並調用此函數:
function reload_js(src) {
$('script[src="' + src + '"]').remove();
$('<script>').attr('src', src).appendTo('head');
}
這是否會導致jquery像此 SO答案中所述進行同步調用? 如果沒有,當html / server響應加載后,如何重新運行我需要運行的一組函數?
編輯:這是reloadScripts的代碼:
var reloadScripts = function(array){
var len = array.length;
for (var i = 0; i < len; i++){
reload_js(array[i]);
}
}
我刪除了reload_js中的jquery代碼,並將其更改為以下內容:
function reload_js(src) {
var originalScript = document.querySelector('script[src="' + src + '"]');
var parentEl = originalScript.parentNode;
parentEl.removeChild(originalScript);
// $('script[src="' + src + '"]').remove();
var newScript = document.createElement('script');
newScript.src = src;
parentEl.appendChild(newScript);
// $('<script>').attr('src', src).appendTo('head');
}
我這樣做是因為在評論中提到這可能是jquery中的錯誤。 完成此操作后,警告消失了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.