Javascript 简单按钮和链接插入Firefox插件:insertAdjacentHTML用法

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

我想创建一个简单的Firefox插件,在OpenStreetMap变更集页面中插入指向Achavi(可视化工具)的链接

例如:→

以下是我的尝试:

manifest.json:

{
  "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')的等效函数;也不起作用。在
窗口之前,您的代码中有一个输入错误。打开
删除不必要的
=