Я дизайнер, который пытается разработать расширение для Chrome. Пожалуйста, не вини меня в том, что на этот вопрос был дан ответ. Это не так. Вот что я хочу:
- Пользователь выбирает текст на любой странице в Интернете
- Значок расширения Clicks
- Откроется новая вкладка с адресом: "http://music.yandex.ru/search?text= а>" + text_selected_at_step_1
Этот код явно работает
var seltext = "apparat";
chrome.tabs.create({ url: "http://music.yandex.ru/search?text=" + seltext });
Моя проблема в том, что я не могу поместить выделенный текст в переменную. Это не работает:
function getSelectionText() {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
return text;
}
var seltext = getSelectionText();
chrome.tabs.create({ url: "http://music.yandex.ru/search?text=" + seltext });
Это также не делает или я не понимаю, как суммировать результат с моей ссылкой
chrome.tabs.executeScript( {
code: "window.getSelection().toString();"
}, function(selection) {
document.getElementById("output").innerHTML = selection[0];
});
ни это
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if (request.method == "getSelection")
sendResponse({data: window.getSelection().toString()});
else
sendResponse({}); // snub them.
});
Я просто хочу присвоить переменную выделенному тексту. Казалось бы, такая очевидная задача, но это не так. У всех фронтенд-разработчиков, которых я знаю, пока нет решения.