Chrome 扩展和选择文本。如何创建一个选项卡并重复更新同一选项卡
我遇到了问题我正在尝试扩展 建造。
问题是,我希望允许用户在某个选项卡中突出显示某个单词,并通过调用翻译器网页在另一个窗口中获取该单词的翻译。
到目前为止,我所拥有的和工作的部分大致如下:
我创建了一个上下文菜单项,用户选择该项目来获取翻译,调用翻译函数。
chrome.contextMenus.create({
title: 'Translate',
contexts: [context],
onclick: translate
});
在翻译功能中,我创建窗口并发送所选单词。
chrome.windows.create({
url: 'http://www.TranslatingPage.com/index.asp?Translateword=' + info.selectionText
});
问题是:如何更新新创建的窗口?例如,如果我想翻译另一个单词。
我是否获取所有窗口或选项卡并检查 url 部分是否包含该值
'http://www.TranslateExamplePage.com/index.asp?Translateword='
,还是更新 LastFocused
选项卡?
任何想法都非常感激。 此致 哈尔
I´m having trouble with an extension I´m trying to build.
The thing is that I want to allow a user to highlight a word in some tab and get a translation of that word in another window by calling a Translator web page.
The part I have so far and works, is roughly as follows:
I created a context menu item which user selects to get the translation, calling a translate function.
chrome.contextMenus.create({
title: 'Translate',
contexts: [context],
onclick: translate
});
In the translate function I create window and send over the selected word.
chrome.windows.create({
url: 'http://www.TranslatingPage.com/index.asp?Translateword=' + info.selectionText
});
The question is: How do I update the newly created window? e.g. If I want to translate another word.
Do I fetch all windows or tabs and check if the part of the url holds the value
'http://www.TranslateExamplePage.com/index.asp?Translateword='
or do i update LastFocused
tab?
Any ideas greatly appreciated.
Best regards
Hal
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将选项卡的
tabId
存储在您创建的新窗口中,以便于访问。chrome.windows.create()
将Window
对象传递给回调函数。除此之外,该对象还包含一个选项卡数组。由于您刚刚创建了此窗口,因此它只有一个选项卡。因此:当您想要再次修改此标签时,请使用
chrome。 tabs.update()
:You can store the
tabId
of the tab in the new window you created for easy access.chrome.windows.create()
passes aWindow
object to the callback function. Among other things, this object contains an array of the tabs in it. Since you have just created this window, it will only have one tab. So:When you want to modify this tab again, use
chrome.tabs.update()
: