Javascript 开发GoogleChrome扩展
我必须使用chrome扩展更新url。 这是我的清单文件Javascript 开发GoogleChrome扩展,javascript,json,Javascript,Json,我必须使用chrome扩展更新url。 这是我的清单文件 { "name": "My First Extension", "version": "1.0", "description": "The first extension that I made.", "browser_action": { "default_icon": "cwins.png" }, "permissions": [ "http://www.goog
{
"name": "My First Extension",
"version": "1.0",
"description": "The first extension that I made.",
"browser_action": {
"default_icon": "cwins.png"
},
"permissions": [
"http://www.google.co.in/",
"http://www.google.co.in/#hl=en&biw=1920&bih=955&q=anushka&aq=f&aqi=g10&aql=&oq=&fp=5f42a1c1d2fc35ec"
],
"content_scripts": [
{
"matches": ["http://www.google.co.in/"],
"js": ["jquery.js", "myscript.js"]
}
]
}
这是我的内容脚本(myscripts.js)
它没有更新URL我可以看到几个问题:您不能在内容脚本中访问
chrome.tabs
,而chrome.tabs.getSelected
需要“tabs”权限
不过,设置window.location
应该可以在内容脚本中使用,因此如果您只需要这样做,myscripts.js可以简单到:
window.location = 'http://www.google.co.in/#hl=en&biw=1920...';
如果您确实需要使用chrome.tabs.update
,您可以从后台页面访问它。基本上,您需要在后台页面中设置一个onRequest
事件处理程序,并使用内容脚本中的chrome.extension.sendRequest
发送请求
因此,基本上,您的内容脚本(myscript.js)会有以下内容:
您的背景页面将有一个脚本元素,其内容如下:
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
chrome.tabs.update(sender.tab.id, { url: request.url });
});
抱歉,我的话太苛刻了,但是:1)糟糕的标题2)糟糕的格式3)不是一个特定的问题。我已经检查并清理了他们的代码格式,但是编辑需要得到批准。不过,我同意,我们需要更多的信息来帮助解决这个问题。@Wolfy87-很好。我开始编辑,但放弃了:)实际上扩展应该按如下方式工作..每当它看到“”,扩展应该更新URL并导航到此页面。这应该由extension.window自动完成。location将在新窗口中打开提到的URL。但我想当前页面应该得到刷新与。。。自动使用chrome.tabs.update/其他一些功能。提前谢谢-当我尝试它时,它工作得很好。我将更新答案,以显示基本上如何使用
chrome.tabs.*
进行操作,以防您需要这样做。
chrome.extension.sendRequest({ url: 'http://www.google.co.in/#hl=en...' });
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
chrome.tabs.update(sender.tab.id, { url: request.url });
});