Tôi đã chơi xung quanh với một số phần mở rộng chrome và tôi thấy ví dụ này: http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url/Làm cách nào để làm cho page_action xuất hiện cho các trang cụ thể?
Tất cả mọi thứ hoạt động tốt, nhưng tôi muốn tạo ra phần mở rộng của riêng tôi và tôi muốn xem page_action Biểu tượng trên một trang web cụ thể, chứ không phải với ' g 'trong url của họ. Vì vậy, tôi cố gắng chỉ đơn giản là thay đổi kịch bản từ này:
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Called when the url of a tab changes.
function checkForValidUrl(tabId, changeInfo, tab) {
// If the letter 'g' is found in the tab's URL...
if (tab.url.indexOf('g') > -1) {
// ... show the page action.
chrome.pageAction.show(tabId);
}
};
// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);
Into này:
chrome.pageAction.show(tabId);
Nhưng bây giờ nó không hoạt động ... Tôi không nhận được nó. Rõ ràng tôi có thể sử dụng một cách giải quyết khác, nhưng đó không phải là vấn đề ... Trước tiên, tôi phải tạo một trang nền để làm điều này? Tôi nghĩ có nhưng tôi không thể thấy tại sao, và tại sao phương thức .show không hoạt động một mình? Tôi đã cố gắng tìm kiếm tài liệu và nội dung trên google nhưng tôi không thể tìm thấy bất kỳ thứ gì hữu ích mà tôi không có chuyên gia và đây là buổi chiều đầu tiên của tôi dành cho tiện ích mở rộng của google, nhưng làm cách nào tôi biết rằng "chrome.page.show (tabId) "phải đi trong một trang nền nếu nó không được viết ở bất kỳ đâu? Không có ý định chỉ trích, nhưng làm sao mà các bạn tìm ra được? Tất cả các phương pháp chrome phải đi trong một trang nền? Vâng, chắc chắn nhiều câu hỏi hơn sau đó những gì hợp pháp của nó. Hy vọng bạn có thể cho tôi ít nhất một câu trả lời!
Bạn có cho nó 'tabId' hợp lệ không? – abraham