簡體   English   中英

如何單擊按鈕以使用 chrome 擴展在谷歌文檔中啟用菜單項?

[英]How to click a button to enable a menu item in google docs using chrome extension?

我想為 chrome 構建一個擴展,它將在谷歌文檔上做各種工作。 但在此之前,我想確保我可以訪問 google 文檔中的所有功能。 因此,我對此進行了編碼以啟用 Google 文檔上的點擊事件以啟用“粗體”。 但不知何故,它根本不起作用。 它永遠不會觸發,即使我多次點擊我的擴展程序。

window.onload = function() {
    var Boldbtn = document.getElementById('Boldbtn');
    
    Boldbtn.onclick = function(){
        console.log("button  clicked");
    };
};

在此代碼中,我只是使用按鈕打印消息。 請分享您的經驗,我做錯了什么,以及解決此問題的最佳做法是什么。

謝謝你。

Google 不允許內聯 JavaScript,請使用addEventListener

谷歌不允許內嵌的JavaScript,所以你需要addEventListener為按下按鈕進行注冊,而不是modfying元素屬性onClick

window.onload = function() {
  function myFunction() {
    console.log("button clicked");
  }
  
  document.getElementById("boldButton").addEventListener("click", myFunction);
}

在測試時,我還發現將其包含在清單中是可靠的:

"content_scripts": ["run-at": "document_end"]

注意事項

  • 此示例位於內容腳本中,每次用戶按下 Google 文檔工具欄上的“粗體”按鈕時都會記錄到控制台。
  • 在清單中包含“run-at”只是防止在 Google Docs 啟動時覆蓋任何內容。
  • 如果您想格式化文檔的內容,最好查看 Google Docs Add Ons 或 Docs API。 在那里,您會找到更簡單、更快和更可靠的編輯操作方法。 如果需要,您還可以從您的擴展程序中調用 Docs API。 (但您可能完全在考慮其他事情,所以這可能沒有用)

參考資料

內容安全政策
添加事件監聽器
文檔 API

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM