Here bạn có thể nghiên cứu cách tạo tiện ích mở rộng và tải xuống tệp manifest.json mẫu.
Content Scripts có thể được sử dụng để chạy js/css khớp với một số url nhất định.
manifest.json
{
"name": "Append Test Text",
"description": "Add test123 to body",
"version": "1.0",
"permissions": [
"activeTab"
],
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["content-script.js"]
}
],
"browser_action": {
"default_title": "Append Test Text"
},
"manifest_version": 2
}
nội dung script.js
var div=document.createElement("div");
document.body.appendChild(div);
div.innerText="test123";
trên sẽ thực hiện content-script.js
cho tất cả các url phù hợp với http://*/*
nơi *
là một ký tự đại diện. về cơ bản tất cả đều là http
trang.
Tập lệnh nội dung có nhiều thuộc tính có thể tìm thấy trong liên kết ở trên.
Programmatic injection có thể được sử dụng khi không được chèn js/css vào mọi trang phù hợp với mẫu.
Dưới đây cho thấy làm thế nào để thực hiện js onclick
của biểu tượng mở rộng: -
manifest.json
{
"name": "Append Test Text",
"description": "Add test123 to body",
"version": "1.0",
"permissions": [
"activeTab"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_title": "Append Test Text"
},
"manifest_version": 1
}
background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript({
code: 'var div=document.createElement("div"); document.body.appendChild(div); div.innerText="test123";'
});
});
này sử dụng executeScript phương pháp, cũng có tùy chọn gọi một tiếng tập tin arate như vậy: -
background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript({
file: "insert.js"
});
});
insert.js
var div=document.createElement("div");
document.body.appendChild(div);
div.innerText="test123";
nội dung kịch bản sự kiện người nghe của bạn chạy trong một trang nền; bạn đang thao tác trang nền đó thay vì mở trang trong tab hoạt động của trình duyệt. Thao tác trang của một tab phải được thực hiện bằng [tập lệnh nội dung] (http://developer.chrome.com/extensions/content_scripts.html). Trang nền có thể sử dụng [thông báo truyền] (http://developer.chrome.com/extensions/messaging.html) để báo hiệu khi tập lệnh nội dung hoạt động. (Ngoài ra, bạn có thể tạo một loại kịch bản nội dung trực tuyến bằng cách sử dụng ['executeScript'] (http://developer.chrome.com/extensions/tabs.html#method-executeScript).) – apsillers
Nó hoạt động cho tôi khi tôi chạy nó trong giao diện điều khiển nhưng không phải trong extenstion. Bạn có thể gửi cho tôi tập tin của bạn để tôi có thể xem qua nó, xem những gì tôi có thể làm sai? – Ziamor
Tôi nghĩ @DesertIvy đã xác nhận rằng tập lệnh của bạn được xây dựng chính xác, không nhất thiết là bạn đang chạy nó ở đúng vị trí trong cấu trúc của tiện ích mở rộng của bạn. – apsillers