Javascript 简单按钮和链接插入Firefox插件:insertAdjacentHTML用法
我想创建一个简单的Firefox插件,在OpenStreetMap变更集页面中插入指向Achavi(可视化工具)的链接 例如:→ 以下是我的尝试: manifest.json:Javascript 简单按钮和链接插入Firefox插件:insertAdjacentHTML用法,javascript,firefox-addon,Javascript,Firefox Addon,我想创建一个简单的Firefox插件,在OpenStreetMap变更集页面中插入指向Achavi(可视化工具)的链接 例如:→ 以下是我的尝试: manifest.json: { "manifest_version": 2, "name": "modify-page", "version": "1.0", "content_scripts": [ { "matches": ["https://www.openstreetmap.org/changeset
{
"manifest_version": 2,
"name": "modify-page",
"version": "1.0",
"content_scripts": [
{
"matches": ["https://www.openstreetmap.org/changeset/*"],
"js": ["achavi-insert.js"]
}
]
}
achavi-insert.js:
var address = new String(document.location);
var a_strings = address.match(/changeset\/([0-9]+)/);
//first capturing group
var a_string = a_strings[1];
var d1 = document.getElementById('browse-section');
var zNode = document.createElement('div');
zNode.innerHTML = '<button type="button" onclick="=window.open('
+ '\'https://overpass-api.de/achavi/?changeset='+a_string+'\')">'
+ 'Achavi</button>'
;
zNode.setAttribute ('id', 'achavi');
d1.insertAdjacentHTML('afterend', zNode);
var address=新字符串(document.location);
var a_strings=address.match(/changeset\/([0-9]+)/);
//第一捕获组
var a_string=a_string[1];
var d1=document.getElementById('browse-section');
var zNode=document.createElement('div');
zNode.innerHTML=“”
+“阿查维”
;
zNode.setAttribute('id','achavi');
d1.插入式相邻TML(“后端”,Z节点);
当使用document.body.appendChild
时,它工作正常,但我需要在左侧边栏的某个位置插入该按钮
如何正确使用insertAdjacentHTML?
第二个参数是“要解析为HTML或XML并插入到树中的字符串”。因此不要传递DOM节点
无论您必须如何使用
appendChild()
或insertBefore()
,这取决于您所说的“左侧边栏中的某处”谢谢,但是DOM节点insertadjacentellement('afterend',zNode')的等效函数;也不起作用。在窗口之前,您的代码中有一个输入错误。打开删除不必要的=
。