Javascript 如何重定向当前选项卡';Chrome扩展中的url?
我正在写一个Chrome扩展,用来在不同的搜索引擎之间切换。Javascript 如何重定向当前选项卡';Chrome扩展中的url?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在写一个Chrome扩展,用来在不同的搜索引擎之间切换。manifest.json如下所示: { "browser_action": { "default_popup": "popup.html" }, "permissions": [ "tabs", "activeTab" ], "content_security_policy": "script-src 'self'; object-
manifest.json
如下所示:
{
"browser_action": {
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"activeTab"
],
"content_security_policy": "script-src 'self'; object-src 'self'",
"content_scripts": [{
"matches": ["*://*.baidu.com/*"],
"js": ["content.js"]
}]
}
用于在搜索中获取用户的关键字李>content.js
包含支持的搜索引擎列表popup.html
chrome.tabs.update({url: "http://www.baidu.com"});
考虑到您从内容脚本获取关键字,并希望在用户单击弹出页面中的某个按钮后重定向url,您可能需要在内容脚本和弹出页面之间共享关键字。有两种可能的方法: A.让弹出窗口处理重定向。
B.让内容脚本处理重定向 在这两种情况下,您都需要解决两个问题:
chrome.tabs.sendMessage
(并在方法A中响应)从弹出窗口向内容脚本发送消息,因为在另一个方向,内容脚本不知道何时发送消息(弹出窗口可能会关闭)
窗口位置以导航离开
哪一部分存在问题?你已经在弹出窗口中完成关键字检测和单击处理程序了吗?是的,我现在可以得到关键字了。但我不知道如何重定向到新的url。你知道怎么做吗?那太好了-虽然我有点困惑。为什么
chrome.tabs.update
只重定向当前选项卡,而不是所有选项卡?它通常需要第一个参数tabId
,但如果没有提供,则默认为当前活动选项卡。实际上,与tabs.sendMessage
相同:它默认为活动选项卡。这解释了很多。谢谢