>  기사  >  웹 프론트엔드  >  외부 스크립트에서 Chrome 확장 프로그램 설치 상태를 확인하는 방법은 무엇입니까?

외부 스크립트에서 Chrome 확장 프로그램 설치 상태를 확인하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-17 01:29:03654검색

How to Determine Chrome Extension Installation Status from an External Script?

외부 스크립트에서 Chrome 확장 프로그램 설치 상태 확인

외부 JavaScript 스크립트와 상호작용하는 Chrome 확장 프로그램을 개발할 때 다음 사항을 확인해야 할 수도 있습니다. 확장 프로그램이 사용자의 브라우저에 설치되었습니다. 이 기능을 사용하면 스크립트 동작을 적절하게 조정할 수 있습니다.

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;
    });

외부 웹사이트에서 다음과 같이 확장 프로그램에 대한 메시지를 시작할 수 있습니다.

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 변수에 값을 할당합니다. 유일한 제한은 구현 시 이를 수용해야 하는 요청의 비동기적 특성입니다.

통신할 수 있는 도메인을 지정하려면 확장 프로그램의 매니페스트.json 파일에 항목을 추가해야 합니다. 다음 구문을 사용합니다.

"externally_connectable": {
    "matches": ["*://localhost/*", "*://your.domain.com/*"]
},

2021 업데이트:

chrome.runtime.sendMessage를 호출할 때 확장 프로그램이 설치되지 않은 경우 예외가 발생합니다. 또는 장애인. 이 상황을 처리하려면 sendMessage 콜백 내에 다음 유효성 검사를 추가하세요.

if (chrome.runtime.lastError) {
    // handle error
}

위 내용은 외부 스크립트에서 Chrome 확장 프로그램 설치 상태를 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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