Có cách nào để mở trang options.html của plugin Google Chrome thông qua Javascript trong background.html không?

chrome.tabs.create({ url: "options.html" });
Cập nhật
Bắt đầu từ phiên bản 40, Chrome hiện sử dụng hộp thoại tùy chọn bật lên mới từ trang quản lý tiện ích thay vì các trang tùy chọn chuyên dụng (đang không được dùng nữa). Bạn vẫn có thể đạt được hiệu quả tương tự khi sửa đổi URL.
chrome.tabs.create({ 'url': 'chrome://extensions/?options=' + chrome.runtime.id });

Có một phương pháp mới được bật bắt đầu với Chrome 42 :
chrome.runtime.openOptionsPage(function callback)
Mở trang tùy chọn Tiện ích mở rộng của bạn, nếu có thể.
Hành vi chính xác có thể phụ thuộc vào tệp kê khai
options_ui
hoặcoptions_page
khóa của bạn hoặc những gì Chrome sẽ hỗ trợ vào thời điểm đó. Ví dụ: trang có thể được mở trong một tab mới, bên trongchrome://extensions
, trong Ứng dụng hoặc nó có thể chỉ tập trung vào một trang tùy chọn đang mở. Nó sẽ không bao giờ khiến trang người gọi tải lại.Nếu Tiện ích của bạn không khai báo trang tùy chọn hoặc Chrome không tạo được trang vì một số lý do khác, thì lệnh gọi lại sẽ được đặt
lastError
.

Mở hoặc chuyển sang trang tùy chọn đã mở (thay vì mở một trang trùng lặp):
var optionsUrl = chrome.extension.getURL('options.html');
chrome.tabs.query({url: optionsUrl}, function(tabs) {
if (tabs.length) {
chrome.tabs.update(tabs[0].id, {active: true});
} else {
chrome.tabs.create({url: optionsUrl});
}
});

Không cần sử dụng API Chrome, chỉ sử dụng các API Web tiêu chuẩn, bạn có thể thực hiện những điều sau:
window.open("chrome-extension://ghipmampnddcpdlppkkamoankmkmcbmh/options.html")
Hoặc, để điều hướng từ trang hiển thị đến trang tiện ích mở rộng:
location.href = "chrome-extension://ghipmampnddcpdlppkkamoankmkmcbmh/options.html"
Điều này yêu cầu mã hóa cứng ID tiện ích.
Có lẽ lần duy nhất điều này thích hợp hơn so với việc sử dụng API Chrome là khi nó được gọi từ ngữ cảnh không phải tiện ích mở rộng (và không phải kịch bản "từ trang nền" ban đầu). Tuy nhiên, lưu ý rằng ngữ cảnh web không thể điều hướng đến một chrome-extension://*
trang (nó sẽ dẫn đến about:blank
) trừ khi nó được khai báo là có thể truy cập web .
Trong trường hợp như vậy, thay vào đó, người ta cũng nên xem xét việc giao tiếp với trang web thông qua tập lệnh nội dung hoặc tin nhắn bên ngoài .

Có thể bạn quan tâm
