2013-07-29 3 views
0

Я делаю расширение firefox, и я пытаюсь захватить текущий выбор в контекстном меню, и он работает хорошо. Однако я хочу, чтобы текущий выбор был заключен в двойные кавычки. Фрагмент кода:Выбор объемного звука с двойными кавычками

contentScript: 'self.on("context", function() {' + 
      ' var text = \"'+'window.getSelection().toString()'+'\";' + 
      ' if (text.length > 20)' + 
      ' text = text.substr(0, 20) + "...";' + 
      ' return "Search Google for " + text;' + 
      '});' 

Javascript заключен жгутов одиночные кавычки, и я пытался избежать двойные кавычки, как в предыдущем фрагменте кода, но я получаю следующий результат в контекстном меню:

Search Google for window.selection(... 

Как избежать двойных кавычек в строке поиска. Я попытался добавить двойные кавычки в возвращаемой строке, но напрасно. Я думаю, что это, вероятно, потому, что код javascript сам по себе является строкой. Любая помощь глубоко ценится.

ответ

1

Вы можете сделать:

var text = "\"" + window.getSelection().toString() + "\""; 

Вы можете проверить this jsFiddle, чтобы увидеть его в действии.

Ваш код будет выглядеть следующим образом:

contentScript: 'self.on("context", function() {' + 
      ' var text = window.getSelection().toString();' + 
      ' if (text.length > 20) ' + 
      ' text = text.substr(0, 20) + "...";' + 
      ' text = "\"" + text + "\""; ' + 
      ' return "Search Google for " + text;' + 
      ' });' 
+0

Я пытался, но он не работает. – Annihilator8080

+0

У меня была опечатка (знак отсутствует +). Это проблема? –

+0

см. Этот [jsFiddle] (http://jsfiddle.net/RhC6E/2/) с почти точным кодом, работающим –