>웹 프론트엔드 >JS 튜토리얼 >JavaScript를 사용하여 Chrome 확장 프로그램이 설치되었는지 어떻게 확인할 수 있나요?

JavaScript를 사용하여 Chrome 확장 프로그램이 설치되었는지 어떻게 확인할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-26 01:27:10967검색

How can I detect if a Chrome extension is installed using JavaScript?

JavaScript에서 Chrome 확장 프로그램 설치 감지

Chrome 확장 프로그램을 빌드할 때 해당 확장 프로그램이 외부 JavaScript 스크립트. 이는 확장 프로그램의 존재 여부에 따라 웹 콘텐츠를 맞춤설정하는 데 도움이 됩니다.

Chrome 문서에 따르면 웹사이트에서 확장 프로그램으로 메시지를 전달하여 이를 수행할 수 있습니다.

코드 구현

확장 프로그램의 background.js(또는 기타 내용이 아닌 스크립트) 파일에 메시지를 추가하세요. 리스너:

chrome.runtime.onMessageExternal.addListener(
  function(request, sender, sendResponse) {
    if (request) {
      if (request.message) {
        if (request.message == "version") {
          sendResponse({version: 1.0});
        }
      }
    }
    return true;
  }
);

이 리스너는 웹사이트로부터 메시지를 받습니다.

웹사이트의 스크립트에서 확장 프로그램의 ID로 메시지를 보냅니다:

var hasExtension = false;

chrome.runtime.sendMessage(extensionId, { message: "version" },
  function (reply) {
    if (reply) {
      if (reply.version) {
        if (reply.version >= requiredVersion) {
          hasExtension = true;
        }
      }
    } else {
      hasExtension = false;
    }
  }
);

확인 확장 프로그램이 설치되었는지 확인하는 hasExtension 변수입니다.

매니페스트 구성

manifest.json 파일에 항목을 추가하여 확장 프로그램에 메시지를 보낼 수 있는 도메인을 지정해야 합니다.

"externally_connectable": {
  "matches": ["http://mylocalhostextensiontest/*", "http://*:*/*"]
},

비동기 특성 및 오류 처리

메시지 전달 메커니즘은 비동기식이므로 이를 처리해야 할 수도 있습니다. code.

또한 확장 프로그램이 설치되지 않거나 비활성화된 경우 chrome.runtime.sendMessage에서 예외가 발생합니다. 이러한 경우 메시지를 보낸 후 chrome.runtime.lastError를 확인하세요.

if (chrome.runtime.lastError) {
  // Handle the error here...
}

위 내용은 JavaScript를 사용하여 Chrome 확장 프로그램이 설치되었는지 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.