> 웹 프론트엔드 > JS 튜토리얼 > 내 인라인 onclick 기능이 Chrome/Firefox 확장 프로그램에서 작동하지 않는 이유는 무엇입니까?

내 인라인 onclick 기능이 Chrome/Firefox 확장 프로그램에서 작동하지 않는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-28 10:09:15
원래의
158명이 탐색했습니다.

Why Doesn't My Inline onclick Function Work in a Chrome/Firefox Extension?

Extension의 onclick 또는 인라인 스크립트가 작동하지 않습니다.

문제:

Extension의 , onClick 기능은 의도한 기능을 수행하지 못하지만 기본 브라우저에서는 제대로 작동합니다.

코드 예:

function hellYeah(text) {
  document.getElementById("text-holder").innerHTML = text;
}
로그인 후 복사
<!doctype html>
<html>
  <head>
    <title>Getting Started Extension's Popup</title>
    <script src="popup.js"></script>
  </head>
  <body>
    <div>
로그인 후 복사

사용자가 "hyhy"를 클릭하면 "ha"가 "xxx"로 변경되어야 하지만 확장자에서는 작동하지 않습니다.

답변:

Chrome 확장 프로그램과 Firefox WebExtensions는 인라인 JavaScript를 허용하지 않습니다. 따라서 이벤트를 바인딩하려면 다른 방법을 사용해야 합니다.

한 가지 방법은 링크에 ID를 할당하고(예: ) popup.js 파일에서 addEventListener를 사용하여 이벤트를 바인딩하는 것입니다.

document.addEventListener('DOMContentLoaded', function() {
    var link = document.getElementById('link');
    // 点击逻辑如下:
    link.addEventListener('click', function() {
        hellYeah('xxx');
    });
});
로그인 후 복사

팝업을 확인하세요. .js 별도의 스크립트 파일로 로드됨:

<script src="popup.js"></script>
로그인 후 복사

위 내용은 내 인라인 onclick 기능이 Chrome/Firefox 확장 프로그램에서 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿