0
我正在嘗試構建一個功能,需要爲用戶加載大約200個新窗口,但是在完成加載後關閉它們,或者在我們說10秒後關閉它們。Javascript正在管理多個窗口。打開
但是我知道在同一時間打開很多頁面實際上是不可能的,因爲它會使客戶端的瀏覽器崩潰。所以我想要做的是管理新的window.opens,以便它只加載五個五。一旦一個頁面關閉,它會從隊列中加載另一個頁面。
這是我到目前爲止有:
var loadingQueue = localStorage.loadingQueue ? JSON.parse(localStorage.loadingQueue) : [];
var timeToLoad = 10000;
var windowArray = [];
var self = this;
var timedLoading = function() {
if (loadingQueue.length > 0 && windowArray.length < 6) {
loadingQueue = localStorage.loadingQueue ? JSON.parse(localStorage.loadingQueue) : [];
var url = loadingQueue.pop();
localStorage.setItem('loadingQueue', JSON.stringify(loadingQueue));
self.updateLength();
var newWindow = window.open(url, '_blank');
windowArray.push(newWindow);
setTimeout(function() {
var windowIndex = windowArray.indexOf(newWindow);
var curWindow = windowArray.splice(windowIndex, 1);
curWindow.close();
}, timeToLoad);
setTimeout(timedLoading, 1500);
}
};
timedLoading();
但是頁面沒有被關閉。我只測試了一頁,在設定的時間之後關閉就好了。爲什麼我不能在很多窗口上做同樣的事情?
任何提示是非常感謝。非常感謝