2015-11-27 3 views
0

Всякий раз, когда нажимается значок расширения chrome, я хочу запустить скрипт, который внесет определенные изменения на текущую веб-страницу.Запускать скрипт только onclick на chrome extension

Я попытался использовать content_scripts в своем манифесте, и это сработало, но проблема в том, что скрипт работает, даже если я не нажал на значок.

Я обнаружил, что мне нужно использовать фон script.In мой background.js файл я добавил

chrome.browserAction.onClicked.addListener(function(tab) { 
    alert(); 
}); 

и он не работает.

Вот мой файл манифеста.

{ 
    "manifest_version": 2, 

    "name": "Reveal Password", 
    "description": "Reveals password in password input field", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png" 
    }, 
    "background": { 
    "scripts": ["background.js"] 
    } 
} 

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

ответ

0

Использование chrome.tabs.executeScript() для выполнения кода на вкладке, как это:

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.tabs.executeScript({ 
    code: 'alert("Hello")' 
    }); 
}); 

Вместо кода, вы можете также использовать файл, содержащий код:

chrome.tabs.executeScript(null, {file: "content_script.js"}); 

ПРИМЕЧАНИЕ: Вам нужно activeTab Разрешения на выполнение кода на активной вкладке

"permissions": [ 
    "activeTab" 
] 
Смежные вопросы