Google chrome extension Chrome分机:重新加载时是否可以保持分机打开?
我正在构建一个google扩展,它在页面中插入html,并在浏览器上显示一个菜单操作图标单击,当我重新加载页面时,我找不到保持扩展打开的方法。所以在每次重新加载时,我们必须从浏览器操作图标再次激活它 在清单文件下方Google chrome extension Chrome分机:重新加载时是否可以保持分机打开?,google-chrome-extension,reload,Google Chrome Extension,Reload,我正在构建一个google扩展,它在页面中插入html,并在浏览器上显示一个菜单操作图标单击,当我重新加载页面时,我找不到保持扩展打开的方法。所以在每次重新加载时,我们必须从浏览器操作图标再次激活它 在清单文件下方 { "background": { "scripts": ["background.js"] }, "browser_action": { "default_icon": "img/icone.png", "
{
"background": {
"scripts": ["background.js"]
},
"browser_action": {
"default_icon": "img/icone.png",
"default_title": "show menu"
},
"icons" : {
"128" : "img/icone_128.png",
"48" : "img/icone_48.png",
"32" : "img/icone_32.png",
"24" : "img/icone_24.png",
"16" : "img/icone_16.png"
},
"manifest_version": 2,
"name": "p|layer",
"version": "1.0.4",
"content_scripts": [
{
"matches": [ "<all_urls>"],
"css":["css/grid.css", "css/font-awesome.min.css"],
"js":["js/jquery-1.11.1.min.js","js/jquery-ui.js", "js/jquery.nicefileinput.min.js"]
}
],
"web_accessible_resources": [
"fonts/fontawesome-webfont.woff"
],
"permissions": [ "activeTab"]
}
任何帮助都将不胜感激因此,从评论中可以推断出问题:单击按钮会激活内容脚本,但重新加载页面会将其清除。假设您希望单击按钮作为切换: 1)始终插入内容脚本/CSS,但不要立即显示UI:
“内容脚本”:[
{
“匹配项”:[“”],
“css”:[“css/grid.css”、“css/font-awesome.min.css”、“css/slider.css”],
“js”:[
“js/jquery-1.11.1.min.js”、“js/jquery ui.js”,
“js/jquery.nicefileinput.min.js”、“js/contentscript.js”
]
}
],
2)跟踪“激活”选项卡:
var-activeTabs={};
chrome.browserAction.onClicked.addListener(函数(选项卡){
var活跃;
if(activeTabs[tab.id]){
删除activeTabs[tab.id];
主动=假;
}否则{
activeTabs[tab.id]=true;
主动=真;
}
/*(第三部分)*/
});
chrome.tabs.onRemoved.addListener(函数(tabId){
删除活动选项卡[tabId];
});
chrome.tabs.onReplaced.addListener(函数(newTabId,oldTabId){
如果(activeTabs[oldTabId])activeTabs[newTabId]=true;
删除activeTabs[oldTabId];
});
3)使用消息显示/隐藏用户界面:
内容脚本:
chrome.runtime.onMessage.addListener(函数(message.sender,sendResponse){
if(message.showUI)showUI();
if(message.hideUI)hideUI();
});
背景脚本:
chrome.browserAction.onClicked.addListener(函数(选项卡){
var活跃;
/*(第二部分)*/
如果(活动){
sendMessage(tab.id,{showUI:true});
}否则{
sendMessage(tab.id,{hideUI:true});
}
});
对于扩展重新加载的情况,可以增加额外的健壮性,但这是它的要点。Oups,我翻译了我的消息,“大家好,”没有附带,编辑也不起作用:我不明白您要做什么或问题是什么。您可以通过清单中的
content\u脚本注入菜单,然后在重新加载时重新注入菜单。显示一些代码!我用一些代码编辑了我的文章,我试着简单地再次解释。当我们点击图标,我的菜单和选项出现,但当我重新加载我的页面扩展关闭,所有消失。我需要在当前选项卡中显示所有内容。这样更好。现在你想达到什么目的?您的按钮点击激活了当前选项卡的菜单,然后会发生什么?它应该被停用吗?毫无疑问,我的手指今天失败了很多。。。当我们点击图标时,会出现我的菜单和选项,但当我重新加载扩展时,菜单会关闭,所有选项都会消失。我需要显示所有内容(所有内容都保存在localStorage中),如果用户每次重新加载时都必须打开扩展,这将很烦人。谢谢Xan,我不明白你的所有帖子,如果2)是否为background.js。但我将在本周末更深入地关注这一点。
chrome.browserAction.onClicked.addListener(function (tab) { //Fired when User Clicks ICON
chrome.tabs.executeScript(tab.id,
{"file": "js/contentscript.js"},
function () { // Execute your code
console.log("Script Executed .. "); // Notification on Completion
});
chrome.tabs.insertCSS(tab.id, {file: "css/grid.css"});
chrome.tabs.insertCSS(tab.id, {file: "css/font-awesome.min.css"});
chrome.tabs.insertCSS(tab.id, {file: "css/slider.css"});
});