Я делаю это в фоновом скрипте:Как создать элемент в фоновом скрипте?
var link = document.createElement('div');
Тогда ссылка является недействительным. Я предполагаю, что это потому, что на главной странице расширения нет DOM, или у меня нет доступа к ней? В любом случае мне нужно это сделать, чтобы скопировать в буфер обмена. Вот часть, где я буду пытаться использовать его:
function selectionOnClick(info, tab) {
var link = document.createElement('div');
var range = document.createRange();
link.innerHTML = ShortURL(info.selectionText);
range.selectNode(link);
window.getSelection().addRange(range);
try {
var successful = document.execCommand('copy');
if (!successful) {
alert("Your browser doesn't support copy to clipboard.");
}
} catch(err) {
alert("Your browser doesn't support copy to clipboard.");
}
window.getSelection().removeAllRanges();
link.parentNode.removeChild(link);
}
chrome.contextMenus.create({'title': 'Short selected', 'contexts':['selection'], 'onclick':selectionOnClick});