需要从当前选项卡中将选定文本作为字符串

时间:2013-04-09 23:46:41

标签: javascript html google-chrome-extension

以下是我目前的代码:

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()
});

我需要从当前标签中获取选择。我不知道怎么弄它。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

两个问题:

  1. 请勿调用clicked(),而是通过省略括号来传递函数引用。
  2. var selection可从function's parameters获取。在文档中,此对象被描述为OnClickData。所需信息存储在selectionText密钥中。
  3. 应用这些修补程序后的代码:

    // 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
    });