1

这是我目前拥有的代码:

var clicked = function(){
    var selection
    chrome.tts.speak(selection, {'lang': 'en-US', 'rate': 0.8, 'enqueue': true});
}
chrome.contextMenus.create({
  "title" : "Say '%s'!",
  "type" : "normal",
  "contexts" : ["selection"],
  "onclick" : clicked()
});

我需要从当前选项卡中获取选择。我不知道如何得到它。任何人都可以帮忙吗?

4

1 回答 1

1

两个问题:

  1. 不要调用clicked(),而是通过省略括号传递函数引用。
  2. var selection可从函数的参数中获得。在文档中,此对象被描述为OnClickData. 所需的信息存储在selectionText密钥中。

应用这些修复后的代码:

// Background page
var clicked = function(info, tab) {
    var selection = info.selectionText;
    chrome.tts.speak(selection, {'lang': 'en-US', 'rate': 0.8, 'enqueue': true});
};
chrome.contextMenus.create({
  "title" : "Say '%s'!",
  "type" : "normal",
  "contexts" : ["selection"],
  "onclick" : clicked
});
于 2013-04-10T09:08:09.113 回答