2011-01-06 29 views
5

Tôi đang viết tiện ích của Chrome. Là một phần của tiện ích mở rộng, tôi muốn nhận được URL của tab mà tiện ích được gọi từ đó.Tiện ích tab Chrome: getCurrent vs. getSelected?

chrome.tabs.getSelected(null, function(tab) { var myTabUrl = tab.url; }); 

chrome.tabs.getCurrent(function(tab) { var myTabUrl = tab.url; }); 

: sự khác biệt giữa việc sử dụng là gì?

Trả lời

15

getCurrent phải là thứ bạn cần, getSelected là tab hiện được chọn trong trình duyệt. Khi chúng có thể khác nhau - có thể phần mở rộng của bạn chạy một số cronjob nền trong tab, do đó tab đó có thể hiện không được người dùng chọn.

Ok tôi hiểu rõ tất cả. getCurrent chỉ nên được sử dụng bên trong các trang của tiện ích mở rộng có tab được liên kết với chúng (ví dụ options.html), bạn không thể sử dụng nó từ trang nền hoặc trang bật lên. getSelected là một tab hiện được chọn trong trình duyệt.

Đối với câu hỏi ban đầu của bạn - bạn có thể không cần cả hai câu hỏi đó. Nếu bạn đang gửi yêu cầu từ tập lệnh nội dung đến trang nền, thì tab mà yêu cầu này đang được thực hiện từ được chuyển thành thông số sender.

+3

câu trả lời lỗi thời ngày nay, xem bên dưới – Aerovistae

19

Phương thức chrome.tabs.getSelected không được dùng nữa. Bạn nên sử dụng chrome.tabs.query thay thế ngay bây giờ.

Bạn không thể tìm thấy tài liệu chính thức cho phương pháp lỗi thời chrome.tabs.getSelected. Đây là tài liệu cho phương thức chrome.tabs.query.

Các vấn đề liên quan