Javascript 如何在后台脚本中创建元素?
我在后台脚本中执行此操作: var link=document.createElement'div' 然后链接为空。我猜这是因为扩展后台页面没有DOM,还是我没有访问权限? 无论如何,我需要这个复制到剪贴板。这里是我尝试使用它的部分:Javascript 如何在后台脚本中创建元素?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我在后台脚本中执行此操作: var link=document.createElement'div' 然后链接为空。我猜这是因为扩展后台页面没有DOM,还是我没有访问权限? 无论如何,我需要这个复制到剪贴板。这里是我尝试使用它的部分: function selectionOnClick(info, tab) { var link = document.createElement('div'); var range = document.createRange(); li
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});
只需将链接变量设置为全局变量,然后在函数内部初始化它
var link = null;
function selectionOnClick(info, tab) {
link = document.createElement('div');
.
.
.
您已经创建了节点,但尚未将其附加到任何内容。将其附加到正文:
document.getElementsByTagName('body').appendChild(link);