2012-05-19 40 views
5

manifest.json My chứachrome.tabs.create được đưa ra một lỗi - "của router Lỗi Loại: Không thể gọi phương thức 'tạo' không xác định"

"content_scripts": [ 
    { 
    "matches": ["http://www.facebook.com/*","https://www.facebook.com/*"], 
    "js": ["js/jquery-1.7.2.min.js", "js/jquery.livequery.min.js", "js/script.js"] 
    } 
] 

và các nội dung của script.js là

$("#FB_HiddenContainer").livequery(function(){ 
    chrome.tabs.create({"url":"http://www.google.com"}); 
}); 

Khi tôi mở facebook, giao diện điều khiển báo cáo một lỗi

của router lỗi Loại: không thể gọi phương thức 'tạo' không xác định

.210

tại

chrome-mở rộng: //whateveristhisweirdcode/js/script.js: 2

Làm thế nào tôi có thể làm cho nó mở một tab mới ??

Trả lời

18

Tập lệnh nội dung không thể truy cập hầu hết các API tiện ích mở rộng; chỉ những người được liệt kê trong the content scripts doc mới hoạt động. Thay vào đó, hãy sử dụng window.open ("http://www.google.com") (có, điều này sẽ tạo tab mới trong Chrome; không, ở đó không phải là bất kỳ cài đặt người dùng nào trong Chrome sẽ thay đổi điều đó). Nếu bạn cần truy cập nhiều hơn vào API tiện ích mở rộng, bạn có thể sử dụng message passing để làm cho các hoạt động event page của bạn thay mặt cho tập lệnh nội dung.

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