2012-02-19 2 views
5

Tôi có một đoạn mã ở đây mà chỉ không muốn hoạt động ngay dưới dạng Tiện ích của Chrome.Tại sao tiện ích Google Chrome của tôi chỉ mở 25 tab trong số nhiều tab khác?

Theo như tôi có thể nói, mọi thứ hoạt động hoàn hảo, ngoại trừ việc nó dừng mở trang quanh tab 25, bất kể có bao nhiêu tab sẽ được mở. Tôi đã kiểm tra mã và nó cố gắng mở từng liên kết một cách chính xác, nhưng thực tế thì không. Bất kỳ ý tưởng?

for (x = 0; x<55; x++){ 
    window.open(); 
} 
+1

Bạn sẽ phải chia nhỏ điều này xuống một chút. Vòng lặp '.each()' ban đầu có được gọi là số lần thích hợp không? Trường hợp cụ thể là mã của bạn không? Là giá trị của 'mở ra' luôn luôn như mong đợi, số đầy đủ? Nếu nó thực sự là thất bại trên 'window.open()' Tôi nghi ngờ bạn đang nhấn một số loại giới hạn an toàn/an ninh áp đặt bởi Chrome. – Brad

+0

Vòng lặp '.each' ban đầu chỉ được gọi một lần, kích hoạt cho mỗi url trên toàn bộ trang mà nó tìm thấy. Giá trị của 'openedTabs' luôn đúng. Và tôi không biết về bất kỳ giới hạn an toàn nào, nhưng tôi thực sự muốn đi xung quanh nó, haha ​​ – Wyko

+0

Xin lỗi, tôi có nghĩa là mã trong vòng lặp đó chạy bao nhiêu lần, nhưng nếu 'mở ra' là chính xác, thì câu trả lời cho câu hỏi . Chỉ cần cho đá, nếu bạn có một vòng lặp thực sự đơn giản mà không có gì ngoài việc mở 50 cửa sổ, nó dừng lại ở 23 hay như vậy? Có luôn luôn 23? Bạn đã thử đặt một "giấc ngủ" trong đó chưa? – Brad

Trả lời

0

Có thể phải làm gì đó với trình chặn cửa sổ bật lên hoặc những gì Brad nói.
Dễ dàng của nó đủ để đối phó với tho, chỉ cần sử dụng api tab ....

for (x = 0; x<55; x++){ 
    chrome.tabs.create({url:"nowhere"+x}); 
} 

... 55 tab nhỏ;)

3

Có một intentional upper bound 25 trên window.open cuộc gọi. Xem các lỗi Chromium 26323382 cho nền, nhưng tóm lại, ý tưởng là ngăn chặn các cuộc tấn công từ chối dịch vụ (cả về UI và khôn ngoan) đối với các trang mở cửa sổ bật lên vô thời hạn.

API tiện ích mở rộng như chrome.tabs.create (như câu trả lời của PAEz đề xuất) không tuân theo các API này vì tiện ích mở rộng được đặc quyền truy cập.