Register a content script in the manifest file tại "run_at": "document_idle"
(là mặc định) và đặt mã của bạn trong tệp tập lệnh nội dung . Sau đó, tập lệnh sẽ được chạy khi trang đã sẵn sàng.
Nếu bạn muốn phát hiện từ trang nền cho dù trang được tải hoàn toàn, hãy sử dụng sự kiện chrome.webNavigation.onCompleted
và thực hiện bất cứ điều gì bạn muốn, chẳng hạn như gọi chrome.tabs.executeScript
để thực thi tập lệnh nội dung. Phương pháp này có thể hữu ích hơn phương pháp trước nếu danh sách URL là động hoặc nếu không thể mô tả các mẫu URL bằng cách sử dụng cú pháp match pattern.
chrome.webNavigation.onCompleted.addListener(function(details) {
chrome.tabs.executeScript(details.tabId, {
code: ' if (document.body.innerText.indexOf("Cat") !=-1) {' +
' alert("Cat not found!");' +
' }'
});
}, {
url: [{
// Runs on example.com, example.net, but also example.foo.com
hostContains: '.example.'
}],
});
Các webNavigation
và chủ quyền đã được thiết lập trong manifest.json
, ví dụ:
{
"name": "Test",
"version": "1.0",
"background": { "scripts": ["background.js"] },
"permissions": [ "webNavigation", "*://*/*" ],
"manifest_version": 2
}
Nguồn
2012-03-25 17:13:38
Cảm ơn Rob W, nhưng tôi có rất nhiều mã sau khi các báo cáo kiểm tra, tôi không thể viết nó sau "code: '" Tôi có thể gọi một hàm không? – JustMe
@ user1291538 Bạn có thể đặt nó trong một tệp riêng trong phần mở rộng và sử dụng 'tệp: 'nameoffile.js'' thay vì' 'mã': '...'' - Xem thêm [tài liệu được liên kết] (http: //code.google.com/chrome/extensions/tabs.html#method-executeScript). –
@Xan, đó là "manifest_version": 2. Không phải 1. – Dudi