Создание расширений Chrome a.html страница доступна, щелкнув действие браузера.

Я пытался посмотреть по всему интернету и испытывал трудности с поиском ответа. Я видел пару веб-расширений, таких как OneTab, которые открывают локальный index.html страница при нажатии . Кто-нибудь знает как я могу получить мой chrome extension открыть индекс.html-страница, когда browser action нажата?

3 ответов


вы должны взглянуть на chrome.browserAction и chrome.во время выполнения.getURL.

манифест.в JSON

{
    "name": "Your Extension Name",
    "description": "Your Extension Description",
    "version": "0.1",
    "manifest_version": 2,
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },
    "browser_action": {
         "title": "Your Browser Action Name"
    }
}

фон.js

chrome.browserAction.onClicked.addListener(function () {
    chrome.tabs.create({ url: chrome.runtime.getURL("index.html") });
});

существует два способа открыть локальную html-страницу с помощью действия браузера.

1. Как всплывающее окно

манифест.в JSON

"browser_action":   {
                            "default_icon"  :   "128.png",
                            "default_popup" :   "localPage.html",
                            "default_title" :   "localPage title"
                        }

2. Как обычная страница в браузере Chrome

манифест.в JSON

"background": {
        "scripts": ["background.js"]
    },

фон.js

chrome.browserAction.onClicked.addListener(function () {
    chrome.tabs.create({ url: chrome.runtime.getURL("localpage.html") });
});

кажется, есть две части для вашего вопроса

1. Ответьте browserAction нажал событие

    chrome.browserAction.onClicked.addListener(function () {
        // Your code here
    });

2. Откройте локальную html-страницу

вы можете получить url локальной страницы через chrome.runtime.getURL("index.html")

затем вы можете использовать chrome.tabs.create({ url: chrome.runtime.getURL("index.html") }); чтобы открыть локальную html-страницу.