Chrome 확장 프로그램을 작성 중인데 popup.html 파일에서 버튼을 클릭하자마자 현재 웹페이지에 오버레이 popup.html에서 웹 페이지의 DOM에 액세스하려면 background.html과 popup.html 간의 메시징을 사용해야 합니까? popup.html에서 모든 작업을 수행하고 가능하면 jQuery도 사용하고 싶습니다. P粉2960800762023-10-19 08:17:05 이 div에 확장 팝업 스크립트를 추가하기 위해 프로그래밍 방식 주입을 사용하는 몇 가지 예입니다. manifest.json에 권한을 추가하는 것을 잊지 마세요. 자세한 내용은 다른 답변을 참조하세요. 간단한 통화: 참고: Chrome 91 이하에서는 매개변수로 호출하고 결과 받기 구현 시 Chrome 92가 필요합니다 예 1: 예 2: 간단한 통화: 매개변수를 사용하여 호출하고 결과를 받습니다. 이 예제에서는 P粉6004020852023-10-19 00:39:30 문제: 확장 페이지(MV2의 팝업, 옵션, 배경 페이지 등)가 웹 페이지와 분리되어 있으며 자체 DOM, 해결책: 콘텐츠 스크립트를 사용하여 웹페이지에 액세스하거나 해당 콘텐츠와 상호 작용하세요. manifest.json: 페이지가 로드될 때 한 번 실행됩니다. 그런 다음 Messaging을 사용하세요. 경고! DOM 요소, 맵, 세트, ArrayBuffers, 클래스, 함수 등을 보낼 수 없습니다. JSON 호환 단순 개체 및 유형만 보낼 수 있으므로 필요한 데이터를 수동으로 추출하여 단순 배열 또는 개체로 전달해야 합니다. ManifestV3: 확장 스크립트(예: 팝업 창)에서 필요에 따라 콘텐츠 스크립트/함수를 탭에 삽입할 수 있습니다. 이 방법의 결과는 콘텐츠 스크립트의 마지막 표현이므로 데이터 추출에 사용할 수 있습니다. 데이터는 JSON과 호환되어야 합니다. 위의 경고를 참조하세요. manifest.json의 필수 이상적이지 않은 경우, 허용된 사이트를 매니페스트.json의 ManifestV2와 위의 차이점: document.body.insertBefore
메소드에 액세스하면 현재 웹페이지 대신 팝업의 document.body.insertBefore
方法时,它会覆盖弹出窗口上的 모든 응답(2)나는 대답할 것이다
매니페스트 V3
func:
应为 function:
. args
. 목록 V2
inContent
함수를 사용하여 코드를 문자열로 자동 변환합니다. 이 경우 IDE에서 구문 강조 및 Linting을 적용할 수 있다는 이점이 있습니다. 명백한 단점은 브라우저가 코드를 분석하는 데 시간을 낭비한다는 점이지만 일반적으로 1밀리초 미만이므로 무시할 수 있습니다. document
、< code>window 和 chrome-extension://
URL이 있습니다.
방법 1. 선언적
방법 2. 프로그래밍
权限
:
“脚本”
- 필수 "activeTab"
- 사용자 작업(일반적으로 도구 모음에서 확장 프로그램 아이콘 클릭)에 응답하는 데 적합한 이상적인 시나리오입니다. 확장 프로그램을 설치할 때 권한 경고를 표시하지 않습니다. host_permissions
에 추가하세요.
“*://*.example.com/”
및 기타 원하는 웹사이트. "
或 "*://*/"
광범위한 호스트 권한으로 인해 Chrome 웹 스토어의 매우 느린 검토 대기열에 확장 프로그램이 배치됩니다.
权限
에 웹사이트를 지정하세요.