Я разрабатываю расширение Chrome в первый раз, и у меня есть сценарий содержимого, который я хотел бы запускать каждый раз, когда нажимается значок расширения, а затем выключается, когда значок снова нажимается и т. Д. Мне интересно, может ли кто-нибудь помочь мне с этим? Ниже приведен код, который у меня есть.Включить расширение хром Google «выключено» и «включено»?
manifest.json
{
"manifest_version": 2,
"name": "ROTATE",
"description": "This extension will do unspeakable deeds of great importance.",
"version": "1.0",
"browser_action": { },
"icons": { "16": "icon16.png",
"48": "icon48.png",
"128": "icon128.png"
},
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
],
"permissions":
["activeTab"]
}
content.js
['', '-ms-', '-webkit-', '-o-', '-moz-'].map(function(prefix){
Array.prototype.slice.call(document.querySelectorAll('div,p,span,img,a,body')).map(function(el){
el.style[prefix + 'transform'] = 'rotate(' + (Math.floor(Math.random() * 10) - 1) + 'deg)';
});
});
background.js
(я знаю, что есть лучший способ сделать это, что использует сообщение но я не могу понять это. Кроме того, это на самом деле не возвращает страницу в нормальное состояние.)
r toggle = false;
chrome.browserAction.onClicked.addListener(function(tab) {
toggle = !toggle;
if(toggle){
chrome.tabs.executeScript(tab.id, {file:"content.js"});
}
else{
chrome.tabs.return;
}
});
Я бы очень признателен за любую помощь. Спасибо!
Редактировать: Открыт для любых обратных связей! Благодаря!
Я попробовал ваш метод проходящего сообщения и не похож на работу ... – ooohfff
@ooohfff я имел небольшую опечатку в коде. Кроме этого, он отлично работает для меня. Можете ли вы пояснить, что «похоже, что это не работает»? – Teepeemm
Вы правы, я нашел и исправил вашу опечатку, и теперь она работает. Благодаря! – ooohfff