Tôi có tabId của tab. Làm thế nào để có được đối tượng cửa sổ của nó?Làm cách nào để lấy đối tượng cửa sổ cho một tab cụ thể nếu tôi có tabId của tab đó?
Trả lời
Để có được đối tượng cửa sổ DOM từ một tabId, bạn nên chèn một kịch bản nội dung trong tab đó:
chrome.tabs.executeScript(tabId, {code:'var w = window; console.log(w);'});
https://developer.chrome.com/extensions/tabs#method-executeScript
Có lẽ bạn sẽ cần phải comunicate với trang nền của bạn:
https://developer.chrome.com/extensions/content_scripts#host-page-communication
Điều này không có ý nghĩa. Điều này sẽ chỉ ghi lại đối tượng cửa sổ vào giao diện điều khiển và sao chép nó vào một biến khác. Nó không trả lại bất cứ điều gì. – qwerty
Câu trả lời này hoàn toàn vô dụng trừ khi bạn thêm một cuộc gọi lại. Một cái gì đó như vậy: chrome.tabs.executeScript (null, {code: "var w = window; w"}, chức năng (kết quả) {console.log (kết quả [0]);}); Tuy nhiên, do bảo mật, nhiều mục cửa sổ không khả dụng, do đó bạn sẽ vẫn phải sử dụng tập lệnh nội dung/thông báo chuyển api để thực hiện bất kỳ chức năng nào. – runfaj
Đối tượng cửa sổ như đã thấy trong phần mở rộng chrome:
chrome.tabs.get(YOUR_TAB_ID_HERE, function(tab){
chrome.windows.get(tab.windowId, function(win){
console.log(win); // THIS IS THE WINDOW OBJECT
});
});
Nhưng nếu bạn cần thời gian chạy javascript bên trong một tab cụ thể, bạn sẽ cần phải sử dụng Scripts Nội dung nào mà là tốt hơn giải thích ở đây:
http://code.google.com/chrome/extensions/content_scripts.html
Chờ, có "giành" đối tượng cửa sổ của chế độ xem hoặc đối tượng cửa sổ của cửa sổ chứa nhiều tab không? Tôi đang cố gắng để có được đối tượng cửa sổ của một cái nhìn. – trusktr
'win' là cửa sổ chứa các tab. Để có được một cái khác, bạn cần tập lệnh nội dung, vì vậy hãy đọc liên kết tôi đã cung cấp cho bạn. Bạn sẽ phải tiêm một số javascript từ phần mở rộng vào tab. Đó là một chút khôn lanh nhưng bạn sẽ nhận được nó mặc dù. –
Bạn có thể cho những gì bạn đang cố gắng để đạt được? Bởi vì có thể có một cách tiếp cận khác để hoàn thành nó? –
Tôi có tabId của tab. Làm thế nào để có được đối tượng cửa sổ của nó? – trusktr