자바스크립트를 버튼에 연결할 수 없습니다.

자바스크립트를 버튼에 연결할 수 없습니다.

많은 데이터 처리가 포함된 확장 프로그램을 만들려고 하는데 기본 버튼을 연결하여 작업을 수행할 수 없는 것 같습니다. 또한 앞으로 나에게 도움이 될 만한 자료를 알고 계시다면 감사하겠습니다.

http://codepaste.net/vsimew

function helloworld() {
  alert("Hello World!");
}

이 명령은 popup.js에서 가져온 것입니다. 리스너를 위한 background.js도 있지만 리스너를 사용하는 방법을 모르겠습니다.

친애하는

답변1

작동하지 않는 이유는 확장 페이지에서 인라인 Javascript가 허용되지 않기 때문입니다.

인라인 JavaScript는 실행되지 않습니다. 이 제한은 인라인 <script>블록과 인라인 이벤트 핸들러(예: <button onclick="...">)를 모두 금지합니다.

첫 번째 제한 사항은 악의적인 제3자가 제공한 스크립트를 실수로 실행하는 것을 불가능하게 하여 대규모 교차 사이트 스크립팅 공격을 제거합니다. 그러나 콘텐츠와 동작을 명확하게 구분하여 코드를 작성해야 합니다(물론 그렇게 해야 합니다. 그렇죠?).

함수 를 사용하여 onclick 핸들러를 추가할 수 있습니다 addEventListener. Chrome 문서의 이 섹션에서는 이를 수행하는 방법에 대한 예를 제공합니다.

https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution

관련 정보