使用greasemonkey添加這兩個按鈕。我試過顛倒了順序,它總是第二個添加的按鈕可以工作。另一個按鈕不會觸發onclick事件。在div中添加2個按鈕時,只有第二個按鈕工作
// Add the click to chat button
mydiv = document.getElementById("optionalJobinfoData");
var btn = document.createElement("input");
btn.type = 'button';
btn.value = 'Click to Chat';
btn.onclick = function() { window.open(chatURL); };
mydiv.innerHTML += "<i>Notify Dispatch</i><br><i>(stuck on job)</i> ";
mydiv.appendChild(btn);
// Credentials button
mydiv = document.getElementById("optionalJobinfoData");
btn = document.createElement("input");
btn.type = 'button';
btn.value = 'Credentials';
btn.onclick = function() { window.open(credsURL); };
mydiv.innerHTML += "<br><br><i>DSL Credentials</i> ";
mydiv.appendChild(btn);
'element.onclick'很難工作,請改用'addEventListener()'。請檢查[這篇文章](http://commons.oreilly.com/wiki/index.php/Greasemonkey_Hacks/Getting_Started#Pitfall_.232:_Event_Handlers) – Teemu 2013-02-08 18:28:57
@Teemu,你是正確的(也onclick是*任何*情況),但不幸的是,它會在Greasemonkey 1.0或更高版本中有時*工作。直到沙箱模式改變並且腳本中斷。在使用者案例中,這是「定時炸彈」編碼的一個例子。它似乎很好,但最終它會讓你受益。 – 2013-02-08 22:15:39
@BrockAdams呃......其實你今天早些時候教過這個[這裏](http://stackoverflow.com/q/14767768/1169519):)。 – Teemu 2013-02-08 22:29:23