[JS] Chrome Extension - MV3 (Manifest version 3)

    Internet Explorer 지원 중단으로 인해 많은 곳에서 Edge IE 모드로 전환하기를 원하는 시점에서 기존 SHDocVw.dll 모듈 사용이 힘들다보니 기존 방법으로는 WebObject의 레코딩이 어렵다보니 이런 저런 방법을 구상중에 Extension의 Native Messaging을 활용한 통신으로 브라우저의 액션 레코딩과 실행을 연구하기로 함.

     

    > 개발환경

    Language : C#(.Net Framework 4.8), JavaScript

    Browser : Chrome

     

    > 참고글 

    https://blog.xeph.dev/2020/08/07/communicate-with-pc-app-using-chrome-extension-native-messaging/

     

    Chrome 확장 프로그램으로 외부 프로그램과 통신하여 PC 정보 추출하기 – blog.Xeph.dev

    멀티브라우저를 지원하면서 IE에서는 ActiveX를 통해 추가 편의 기능을 제공하던 중, IE 외 브라우저에서도 해당 편의기능을 추가해 달라는 요청이 있어 살펴본 내용을 공유한다. 이 글에서는 해당

    blog.xeph.dev

     

    > 참고글 통해 테스트를 해보면 Background 실행을 위해 manifest.json을 수정하는 과정에서 문제가 생김. 확장프로그램을 개발자 모드에서 등록하면 아래와 같은 오류 발생함.

    MV2로 확장프로그램 설치 하면 오류 발생

     

    "manifest_version": 3,

    이렇게 변경하고 등록하면 샘플 테스트는 무난하게 진행이 되는데, Background로 실행하기 위한 수정부분에서 오류 발생함.

      "background": {
        "scripts": ["main.js"],
        "persistent": false
      }

    이부분이 문제인데, 크롬 익스텐션에서는 background > scripts 의 js파일 실행시 document 를 찾을 수 없다는 오류가 나온다.

      "content_scripts":[
        {
          "matches": [
            "<all_urls>"
          ],
          "js": ["main.js"]
        }
      ]

    이렇게 변경하면 오류 없이 잘 되는걸 확인할 수 있다.

     

    다른 참고 글 추가 :

    https://blog.shahednasser.com/chrome-extension-tutorial-migrating-to-manifest-v3-from-v2/

     

    Chrome Extension Tutorial: Migrating to Manifest V3 from V2

    See the detailed steps you need to take to migrate your extension from Manifest V2 to Manifest V3

    blog.shahednasser.com

    https://jsshowcase.com/question/error-on-chorme-extension-uncaught-referenceerror-window-is-not-defined

     

    Error on chorme extension: Uncaught ReferenceError: window is not defined

     

    jsshowcase.com

     

    댓글