我尝试在web whatsapp上运行带有greasemonkey的脚本。但效果不是很好。 代码需要打开新窗口并使用内容刷新它:
[第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>';
按钮不工作(不打开新窗口)..
请求帮助。
编辑:清除代码以仅显示问题。
答案 0 :(得分:0)
由于其Content Security Policy,您似乎无法在此页面上使用onclick
属性。
请尝试使用您在JavaScript中附加的事件侦听器,而不是HTML中嵌入的JS代码。
1)创建&#34;添加&#34;按钮最好是在JS中完全创建它并在那里设置所有属性,因为从第一个glace它看起来像我可以有多个,你根据用户的作用再次创建和删除它们。
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)对于&#34;开始&#34;按钮只创建一次我们可以保留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
属性。)