Javascript 如何使用chrome扩展在google文档中单击按钮启用菜单项?

Javascript 如何使用chrome扩展在google文档中单击按钮启用菜单项?,javascript,google-chrome-extension,google-docs,Javascript,Google Chrome Extension,Google Docs,我想为chrome建立一个扩展,它将在google文档上进行各种工作。但在此之前,我想确保我能够访问google文档中的所有功能。因此,我将其编码为启用google文档上的单击事件以启用“粗体”。但不知何故,它根本不起作用。它从不触发,即使我在分机上多次单击 window.onload = function() { var Boldbtn = document.getElementById('Boldbtn'); Boldbtn.onclick = function()

我想为chrome建立一个扩展,它将在google文档上进行各种工作。但在此之前,我想确保我能够访问google文档中的所有功能。因此,我将其编码为启用google文档上的单击事件以启用“粗体”。但不知何故,它根本不起作用。它从不触发,即使我在分机上多次单击

window.onload = function() {
    var Boldbtn = document.getElementById('Boldbtn');
    
    Boldbtn.onclick = function(){
        console.log("button  clicked");
    };
};
在这段代码中,我只是用一个按钮打印一条消息。请分享你的经验,我哪里做错了,解决这个问题的最佳做法是什么

谢谢。

谷歌不允许内联JavaScript,请使用
addEventListener
Google不允许内联JavaScript,因此您需要
addEventListener
才能注册按钮,而不是修改元素属性
onClick

window.onload=function(){
函数myFunction(){
控制台日志(“点击按钮”);
}
document.getElementById(“boldButton”).addEventListener(“单击”,myFunction);
}
在测试期间,我还发现在清单中包含以下内容是可靠的:

“内容脚本”:[“运行于”:“文档结束”]
注:

  • 此示例位于内容脚本中,每次用户按下Google文档工具栏上的“粗体”按钮时,都会记录到控制台
  • 在清单中包含“runat”可以防止在Google文档启动时任何内容被覆盖
  • 如果你想格式化文档的内容,你最好看看谷歌文档附加组件,或者DocsAPI。在那里,您将找到更简单、更快、更可靠的编辑操作方法。如果需要,您还可以从扩展中调用docsapi。(但你可能完全在想别的事情,所以这可能没有用)
参考资料:




这是content.js的一部分吗?还尝试控制台日志Boldbtn,查看它是否未定义。是。它在content-scrip.js中,
console.log(Boldbtn)
是否打印DOM元素?我打印了,但它没有显示任何消息或错误。我只是检查了粗体按钮的id,它显示为“boldButton”而不是“Boldbtn”-确认这是否是问题所在。另外,你能对你正在尝试做的事情做一点扩展吗?可能有更简单的方法来完成您想要的操作,即应用程序脚本或附加组件。如果你想了解更多信息,请告诉我。