質問: function() { document.getElementById(hogehoge).addEventListener("click", function hogehoge() { var str= document.getElementById('input3').value; document.getElementById('input3').value=str.slice(0,16); }) }; ``` ### 試したこと 課題に対してアプローチしたことを記載してください onClickを使ったが、セキュリティの問題で動作しなかったので、上記の方法を選択した。
回答: Chrome拡張には詳しくないですが、JavaScript の構文としておかしい点をいくつか指摘します。 1. `window.onload` を上書きしている 複数イベントを登録する場合は `addEventListener` を使います。同じ場所に書いているならまとめても良いと思います。 2. 定義されていない変数を使用している これは他の部分で定義している可能性はありますが、`document.getElementById(ToSHA1)` の `ToSHA1` は定義されていません。(`getElementById(hogehoge)` も同じく定義されていない) 動くかはわかりませんが、上記指摘を踏まえるとこういう感じになります。 ``` window.onload = function() { document.getElementById('ToSHA1').addEventListener("click", function ToSHA1() { var seed = document.getElementById('input1').value; document.getElementById('input3').value = CybozuLabs.SHA1.calc(seed); }); document.getElementById('hogehoge').addEventListener("click", function hogehoge() { var str= document.getElementById('input3').value; document.getElementById('input3').value=str.slice(0,16); }); }; ```