运行 网络 whatsapp 脚本

Run script on web whatsapp

我尝试 运行 在网络 whatsapp 上使用 greasemonkey 编写脚本。但是效果不是很好。 代码需要打开新的 windows 并用内容刷新它:

[第 1 部分:]

var list = main[0].getElementsByClassName("msg");
var i;
for (i = 0; i < list.length; i++) {
  list[i].innerHTML += '<button type="button" class="addButton" onclick="javascript:addNewMsg(this.parentElement)">Add</button>';
}

[第二部分:]

document.body.innerHTML += '<div style="position:absolute;bottom:20px;right:20px;z-index:80;border:1px black solid"><button type="button" id="startButton" onclick="javascript:us_openWAwindows()">Start</button></div>';

按钮不起作用(无法打开新的windows)..

感谢您的帮助。

编辑:清理代码以仅显示问题。

由于 Content Security Policy.

,您无法在此页面上使用 onclick 属性

请尝试使用您在 JavaScript 中附加的事件侦听器,而不是 HTML 中的嵌入式 JS 代码。

1) 要创建 "Add" 按钮,最好完全在 JS 中创建它并在那里设置所有属性,因为乍一看在我看来可能有多个按钮并且您正在创建并根据用户的操作再次删除它们。

for (i = 0; i < list.length; i++) {
    var btn = document.createElement("button");
    btn.setAttribute("type", "button");
    btn.setAttribute("class", "addButton");
    btn.addEventListener("click", function() {
        addNewMsg(this.parentElement);
    });
    btn.innerHTML = "Add";
    list[i].appendChild(btn);
}

2) 对于仅创建一次的 "Start" 按钮,如果需要,我们可以保留 HTML 并使用其 ID 来引用它(尽管您也可以使用与我相同的方法上面做了):

document.body.innerHTML += '<div style="position:absolute;bottom:20px;right:20px;z-index:80;border:1px black solid"><button type="button" id="startButton">Start</button></div>';
document.getElementById("startButton").addEventListener("click", us_openWAwindows);

(请注意,我从两者中删除了 onclick 属性。)