@Mosapi

Как приостановить/возобновить выполнение js скрипта расширения?

Добрый день
Подскажите как реализовать выкл/вкл выполнения скрипта в активной вкладке.
Желательно чтобы без доп. окошек. Т.е. нажал на иконку расширения - он вкл. Нажал еще раз - он выкл
К сожалению найти подобных тем не удалось. Прошу помощи:

Схема работы:
Загружается страница
Подгружается скрипт
Если расширение вкл, то скрипт выполняется(
Если расширение выкл, скрипт не выполняется(если пользователь вкл его, то страница должна перезагрузиться и скрипт должен выполниться)

Я думаю понятен смысл? По подобию приостановки и возобновления adblock

мой манифест:
{
	"manifest_version": 2,
	"name": "Приложение",
	"description": "Позволяет облегчить некоторую работу.",
	"version": "2.0",
	"offline_enabled": true,
	"commands": {
          "toggle-feature-foo": {
            "suggested_key": {
              "default": "Ctrl+Shift+Z",
              "mac": "Command+Shift+Z"
            },
            "description": "Toggle feature foo",
			"global": true
          },
          "_execute_browser_action": {
            "suggested_key": {
              "windows": "Ctrl+Shift+Z",
              "mac": "Command+Shift+Z",
              "chromeos": "Ctrl+Shift+U",
              "linux": "Ctrl+Shift+J"
            }
          },
          "_execute_page_action": {
            "suggested_key": {
              "default": "Ctrl+Shift+E",
              "windows": "Alt+Shift+P",
              "mac": "Alt+Shift+P"
            }
          }
        },
	"icons": {
		"128": "icok.png"
	},
  "content_scripts": [{
		"matches": [
			"http://mi.url.ru/*"
		],
		"js": [
			"jquery.js", 
			"background.js",
			"injected.js"
		],
		"run_at": "document_end"
	}],
  "permissions": [
	   "activeTab"
   ],
   "browser_action": {
          "default_icon": {       
            "128": "icok.png"   
          },
          "default_title": "Exten$ion" 
        },
	"web_accessible_resources": [
    "/injected.js"
  ]
}

background.js
$.get(chrome.extension.getURL('/injected.js'),
	function(data) {
            var script = document.createElement("script");
			script.setAttribute("type", "text/javascript");
			script.innerHTML = data;
			document.getElementsByTagName("head")[0].appendChild(script);
			document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();");
	});

injected.js
$(document).ready(function() {
//Тут какие - то действия
...	 
});
  • Вопрос задан
  • 352 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы