0
我使用的是javascript來打開網站上圖像的所有鏈接。但是腳本在打開大約25個選項卡後停止,這可能是由Chrome導致的。我試過Firefox,但它凍結了(所以我甚至不敢在IE中試用它)。我試圖讓腳本在每個選項卡之間等待500毫秒,但除了使腳本變慢之外,沒有任何改變。使用javascript一次打開25個選項卡
關於如何解決這個問題的任何建議?當前一個完全加載時,是否可能有某種方法可以打開下一個選項卡?
function in_array(needle, haystack) {
var key = '';
for (key in haystack) {
if (haystack[key] == needle) {
return true
}
}
return false
}
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
var allLinks = document.links;
var allHrefs = [];
var openedWindows = [];
var x = 0;
var y = 0;
for (var i = 0; i < allLinks.length; i++) {
if (allLinks[i].href.match(/\.(jpg|png|jpeg|gif|bmp)$/i)) {
allHrefs[x] = allLinks[i].href;
x++
}
}
for (var i = 0; i < allHrefs.length; i++) {
if (!in_array(allHrefs[i], openedWindows)) {
openedWindows[y] = allHrefs[i];
y++;
sleep(500);
window.open(allHrefs[i])
}
}
你爲什麼要創建一個睡眠功能時,你可能只是'setInterval'或'setTimeout' – Jimmy
@馬特聽起來像它只是一個個人的腳本,而不是一個網站功能 – Jimmy
哦,上帝 - @吉米的權利。這是'睡眠'功能,顛覆瀏覽器。 **你必須使用['setTimeout'](https://developer.mozilla.org/en/DOM/window.setTimeout)或['setInterval'](https://developer.mozilla.org/en/DOM/ window.setInterval)** –