> 웹 프론트엔드 > JS 튜토리얼 > Chrome 확장 프로그램에서 고아 콘텐츠 스크립트로 인해 발생하는 \'runtime.lastError\' 오류를 수정하는 방법은 무엇입니까?

Chrome 확장 프로그램에서 고아 콘텐츠 스크립트로 인해 발생하는 \'runtime.lastError\' 오류를 수정하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-31 15:49:02
원래의
1048명이 탐색했습니다.

How to Fix

Chrome 확장 업데이트 후 분리된 스크립트 해결

문제:

실수로 Chrome 확장 프로그램을 다시 로드한 후 "런타임. "고아" 콘텐츠 스크립트로 인해 lastError" 오류가 발생하여 팝업 페이지와 콘텐츠 페이지 간의 통신 실패가 발생합니다.

해결책:

이 문제를 해결하려면 창 메시지를 활용하여 다시 삽입된 콘텐츠 스크립트의 신호를 고아 스크립트로 브로드캐스트할 수 있습니다. 그러면 고아 스크립트는 리스너 등록을 취소하여 가비지 수집에 사용할 수 있게 됩니다.

구현:

background.js

다음에 콘텐츠 스크립트 재주입을 구현합니다. 확장 프로그램 다시 로드/설치.

content.js

  • chrome.runtime.id를 사용하여 고유한 고아 메시지 ID를 생성합니다.
  • 고아 메시지 ID 이벤트를 전달하고 추가합니다. 이벤트 리스너로 처리하세요.
  • 객체 참조를 보존하려면 이름이 지정된 함수로 모든 리스너를 등록하세요.
  • 활성 콘텐츠 스크립트를 나타내려면 running = true를 사용하세요.

unregisterOrphan 함수

  • 확장이 활성화되어 있는지 확인하세요.
  • 고아 메시지 리스너와 다른 모든 이벤트 리스너를 제거하세요.

onMessage 함수

  • 수신 메시지를 처리합니다.

onMouseMove 함수

  • DOM 이벤트 처리를 실행하여 처리 전 고아 상태를 확인합니다.

popup.js

  • 메시지를 보내기 전에 콘텐츠 스크립트가 삽입되었는지 확인하세요.
  • 액티브 콘텐츠 스크립트를 확인하고 필요한 경우 삽입하는 기능을 구현하세요.

다음 단계에 따라 분리된 콘텐츠 스크립트를 제거하고 확장 프로그램 구성 요소 간의 통신을 복원할 수 있습니다.

위 내용은 Chrome 확장 프로그램에서 고아 콘텐츠 스크립트로 인해 발생하는 \'runtime.lastError\' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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