簡體   English   中英

jQuery加載正在觸發主線程上的Synchronous XMLHttpRequest不建議警告

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM