Javascript Tampermonkey,在单击事件时从附加的DOM对象调用用户脚本函数
我尝试了在StackOverflow上找到的几乎所有解决方案,但都没有帮到我。这是我的密码:Javascript Tampermonkey,在单击事件时从附加的DOM对象调用用户脚本函数,javascript,jquery,greasemonkey,tampermonkey,Javascript,Jquery,Greasemonkey,Tampermonkey,我尝试了在StackOverflow上找到的几乎所有解决方案,但都没有帮到我。这是我的密码: //工具栏主体 var toolbarbody=“”+ “”+ “Tabelka”+ “Cena”+ “Opis”+ ''; //工具栏加载 函数loadToolbar(){ $(“#article desc wrapper”).css(“页边距顶部”、“320px”); $(“#产品详细信息”)。在(工具栏正文)之后; $(“#productDetailsHeadlineArea”)。在('Hehe
//工具栏主体
var toolbarbody=“”+
“”+
“- Tabelka
”+
“- Cena
”+
“- Opis
”+
'';
//工具栏加载
函数loadToolbar(){
$(“#article desc wrapper”).css(“页边距顶部”、“320px”);
$(“#产品详细信息”)。在(工具栏正文)之后;
$(“#productDetailsHeadlineArea”)。在('Hehes')之后;
}
setTimeout(loadToolbar,2000)代码>我建议您使用DOM解析HTML。您可以这样做:
var toolbarbody = '<div id="scrappytoolbar" style="width:100%; height:30px; background-color: #ffea56;">' +
'<ul>' +
'<li id="litabelka">Tabelka</li>' +
'<li id="licena">Cena</li>' +
'<li>Opis</li>' +
'</div>';
var parser = document.createElement("div");
parser.innerHTML = toolbarbody;
var toolbarElement = parser.firstChild;
// remove the toolbar from parser
parser.removeChild(toolbarElement);
但请记住,现在需要附加工具栏元素
,而不是HTML字符串:
function loadToolbar() {
$("#article-desc-wrapper").css("margin-top", "320px");
// we now append DOM element
$("#productDetailsMainInfo").after(toolbarElement);
$("#productDetailsHeadlineArea").after('<button id="guziktestowy">Hehes</button>');
}
函数加载工具栏(){
$(“#article desc wrapper”).css(“页边距顶部”、“320px”);
//我们现在附加DOM元素
$(“#ProductDetailsMinInfo”)。在(工具栏元素)之后;
$(“#productDetailsHeadlineArea”)。在('Hehes')之后;
}
还要注意,等待load
或事件比使用setTimeout
$('#litabelka')更好代码>如果您还粘贴了用于添加单击处理程序的代码,则效果会更好。也许我可以告诉你你做错了什么。。。
function loadToolbar() {
$("#article-desc-wrapper").css("margin-top", "320px");
// we now append DOM element
$("#productDetailsMainInfo").after(toolbarElement);
$("#productDetailsHeadlineArea").after('<button id="guziktestowy">Hehes</button>');
}