외부 스크립트에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!