Chrome, получить выделенный текстовый вопрос - PullRequest
0 голосов
/ 26 августа 2011

Я сделал расширение для Chrome, которое опирается на получение выделенного текста страницы.

Благодаря некоторым из приведенных здесь вопросов мне удалось это сделать, но, похоже, это не совсем точно.работает на большинстве страниц.

Любые идеи, почему:

sendResponse({data: window.getSelection().toString()});

в моем selection.js работает только на некоторых сайтах и ​​не работает, например:

http://www.tdwg.org/?

Это просто что-то, связанное со структурой страницы и не стоящее обработки?

РЕДАКТИРОВАТЬ: я могу определенно выделить проблему для этого кода в виде кода, которыйВызывает этот простой захват выделенного текста и открывает новую вкладку с этим в качестве аргумента для URL.Я пробовал текст со специальными символами, и все это отлично работает.Однако это функция для открытия новой вкладки и прослушивателя, который был добавлен к расширению.

function sendServiceRequest(selected) {
selected = selected.trim();
var text = selected.replace(/\s+/g,"_");
chrome.tabs.create({'url': chrome.extension.getURL('reader.html?text1=' + escape(text))}, function(tab) {
// Tab opened.
});
}



// Set the background page to listen for click events on the brower_action 
// button. Listener then calls updateIcon() whenever triggered.
chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.sendRequest(tab.id, {method: "getSelection"}, function(response){
     sendServiceRequest(response.data);
  });
});

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...