我正在尝试使用插件生成器开发 Firefox 插件。
我想修改基于 Web 的邮件程序的邮件编辑器。
(在下面的代码中,我正在尝试使用 Yahoo! Japan 的邮件服务。)
当用户按下发送按钮时,我想执行特定的代码。
插件代码是:main.js
var self = require("self");
var pageMod = require("page-mod");
pageMod.PageMod({
include: "*.mail.yahoo.co.jp",
contentScriptWhen: 'end',
contentScript: "document.getElementById('send_top').setAttribute('onclick', 'alert(\"blabla\")');"
});
电子邮件编辑器页面中的按钮:
<input id="send_top" class="inputbutton" type="submit" title="Submit an email"
value="Submit" name="action_msg_send" accesskey="9">
当用户“提交”按钮时,我想显示对话框。
最佳答案
看起来您没有在内容脚本中正确添加 onclick 处理程序。您可以改为使用如下代码:
document.querySelector('#send_top').onclick = function() {
alert('bla bla');
}
这是附加组件构建器中的一个工作示例:
https://builder.addons.mozilla.org/addon/1048430/latest/
使用 contentScript 属性添加内容脚本代码的一个缺点是难以调试。一些使这更容易的指针:
关于javascript - 使用 page-mod (Firefox Addon) 将 onclick 事件添加到特定按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10106033/