我在后台脚本中执行此操作:
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});
答案 0 :(得分:1)
您已创建节点但尚未将其附加到任何节点。将它附加到正文:
document.getElementsByTagName('body').appendChild(link);
答案 1 :(得分:0)
只需制作"链接"变量global然后在函数内初始化..
var link = null;
function selectionOnClick(info, tab) {
link = document.createElement('div');
.
.
.