我想在页面上添加一个带有onclick事件的按钮。它最终会打开一个叠加div。
但是,我甚至无法得到警报。
我使用了一些技术,例如unsafeWindow
,并将脚本标记添加到正文中,但仍无效。
这是我现在正在使用的代码:
function main() {
var script_source = '<script type="text/javascript">function doenwedan(){alert("hebben we gedaan!");}</script>';
var link_knop = '<br /><br /><br /><br /><button onclick="doenwedan()" value="gaan we doen">gaan we doen</button>';
var orginele_pagina = document.getElementById('ds_body').innerHTML;
document.getElementById('ds_body').innerHTML =orginele_pagina + link_knop + script_source ;
}
main();
我怎样才能使这个工作? 我需要这样的技术,因为当调用overlay div时,需要新的函数,所以如果要注入它们那么...
答案 0 :(得分:1)
有几件事:
innerHTML
。它会破坏事物并导致尝试使用正则表达式HTML的诱惑。总而言之,您的脚本将变为:
// ==UserScript==
// @name _Add a button
// @include http://YOUR_SERVER/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// ==/UserScript==
function doenwedan () {
alert ("hebben we gedaan!");
}
var orginele_pagina = $('#ds_body');
orginele_pagina.append (
'<br><br><br><br><button id="myButton" value="gaan we doen">gaan we doen</button>'
);
$("#myButton").click (doenwedan);