chrome.webNavigation

설명

chrome.webNavigation API를 사용하여 진행 중인 탐색 요청의 상태에 관한 알림을 수신합니다.

권한

webNavigation

모든 chrome.webNavigation 메서드와 이벤트를 사용하려면 확장 프로그램 매니페스트에서 "webNavigation" 권한을 선언해야 합니다. 예를 들면 다음과 같습니다.

{
  "name": "My extension",
  ...
  "permissions": [
    "webNavigation"
  ],
  ...
}

개념 및 사용법

이벤트 순서

탐색이 성공적으로 완료되면 이벤트가 다음 순서로 실행됩니다.

onBeforeNavigate -> onCommitted -> [onDOMContentLoaded] -> onCompleted

이 과정에서 오류가 발생하면 onErrorOccurred 이벤트가 발생합니다. 특정 탐색의 경우 onErrorOccurred 이후에 실행되는 추가 이벤트가 없습니다.

탐색 프레임에 하위 프레임이 포함되어 있으면 onCommitted가 하위 요소의 onBeforeNavigate보다 먼저 실행되고 onCompleted는 모든 하위 요소의 onCompleted 후에 실행됩니다.

프레임의 참조 프래그먼트가 변경되면 onReferenceFragmentUpdated 이벤트가 실행됩니다. 이 이벤트는 onCompleted 이후를 비롯하여 onDOMContentLoaded 이후에 언제든지 실행될 수 있습니다.

기록 API를 사용하여 프레임 상태를 수정하는 경우 (예: history.pushState() 사용) onHistoryStateUpdated 이벤트가 실행됩니다. 이 이벤트는 onDOMContentLoaded 후에 언제든지 실행될 수 있습니다.

탐색 기능으로 인해 뒤로 앞으로 캐시에서 페이지가 복원된 경우에는 onDOMContentLoaded 이벤트가 실행되지 않습니다. 페이지를 처음 방문했을 때 콘텐츠 로드가 이미 완료되었으므로 이벤트가 실행되지 않습니다.

Chrome 순간 검색 또는 순간 검색 페이지를 통해 탐색이 실행된 경우 완전히 로드된 페이지가 현재 탭으로 전환됩니다. 이 경우 onTabReplaced 이벤트가 실행됩니다.

webRequest 이벤트와의 관계

webRequest API의 이벤트와 webNavigation API의 이벤트 간에는 정의된 순서가 없습니다. 이미 새 탐색을 시작한 프레임의 경우 webRequest 이벤트가 계속 수신되거나 네트워크 리소스가 이미 완전히 로드된 후에만 탐색이 진행될 수 있습니다.

일반적으로 webNavigation 이벤트는 UI에 표시되는 탐색 상태와 밀접한 관련이 있는 반면, webRequest 이벤트는 일반적으로 사용자에게 불투명한 네트워크 스택의 상태에 해당합니다.

탭 ID

모든 탐색 탭이 Chrome UI의 실제 탭(예: 사전 렌더링되는 탭)에 해당하는 것은 아닙니다. 이러한 탭은 탭 API를 사용하여 액세스할 수 없으며 webNavigation.getFrame() 또는 webNavigation.getAllFrames()를 호출하여 탭에 관한 정보를 요청할 수도 없습니다. 이러한 탭이 교체되면 onTabReplaced 이벤트가 실행되고 API를 통해 액세스할 수 있게 됩니다.

타임스탬프

OS에서 고유한 Chrome 프로세스를 처리할 때 기술적으로 이상한 점이 있으면 브라우저 자체와 확장 프로그램 프로세스 간에 시계가 왜곡될 수 있습니다. 즉, WebNavigation 이벤트 timeStamp 속성의 timeStamp 속성은 내부적으로 일관성만 보장됩니다. 한 이벤트를 다른 이벤트와 비교하면 이벤트 간의 올바른 오프셋을 얻을 수 있지만 (new Date()).getTime() 사용 등의 확장 프로그램 내의 현재 시간과 비교하면 예기치 않은 결과가 나올 수 있습니다.

프레임 ID

탭 내의 프레임은 프레임 ID로 식별할 수 있습니다. 메인 프레임의 프레임 ID는 항상 0이고 하위 프레임의 ID는 양수입니다. 문서가 프레임에서 구성되면 문서의 프레임 ID가 문서의 전체 기간 동안 일정하게 유지됩니다. Chrome 49부터 이 ID는 프레임의 전체 기간 동안 (여러 탐색에서) 일정하게 유지됩니다.

Chrome의 다중 프로세스 특성으로 인해 탭에서 웹페이지의 소스와 대상을 렌더링하는 데 다른 프로세스가 사용될 수 있습니다. 따라서 새 프로세스에서 탐색이 발생하면 새 탐색이 커밋될 때까지 새 페이지와 이전 페이지 모두에서 이벤트를 수신할 수 있습니다 (즉, 새 메인 프레임에 대해 onCommitted 이벤트가 전송됨). 즉, 동일한 frameId를 가진 webNavigation 이벤트의 대기 중인 시퀀스가 두 개 이상 있을 수 있습니다. 시퀀스는 processId 키로 구분할 수 있습니다.

또한 임시 로드 중에는 프로세스가 여러 번 전환될 수 있습니다. 이는 로드가 다른 사이트로 리디렉션될 때 발생합니다. 이 경우 최종 onCommitted 이벤트를 수신할 때까지 onBeforeNavigateonErrorOccurred 이벤트가 반복됩니다.

확장 프로그램에서 문제가 되는 또 다른 개념은 프레임의 수명 주기입니다. 프레임은 커밋된 URL과 연결된 문서를 호스팅합니다. 문서는 탐색을 통해 변경될 수 있지만 frameId는 변경되지 않으므로 frameIds만으로 특정 문서에서 발생한 것을 연결하기는 어렵습니다. 문서별 고유 식별자인 documentId라는 개념이 도입됩니다. 프레임을 탐색하여 새 문서를 열면 식별자가 변경됩니다. 이 필드는 동일하게 유지되므로 페이지가 수명 주기 상태 (사전 렌더링/활성/캐시됨 간)를 변경하는 시점을 파악하는 데 유용합니다.

전환 유형 및 한정자

webNavigation onCommitted 이벤트에는 transitionTypetransitionQualifiers 속성이 있습니다. 전환 유형은 브라우저가 이 특정 URL로 이동하는 방법을 설명하는 history API에서 사용되는 것과 동일합니다. 또한 탐색을 추가로 정의하는 여러 전환 한정자가 반환될 수 있습니다.

다음과 같은 전환 한정자가 있습니다.

전환 한정자설명
"client_redirect"탐색 중에 페이지의 자바스크립트 또는 메타 새로고침 태그로 인해 발생한 하나 이상의 리디렉션이 발생했습니다.
"server_redirect"서버에서 전송한 HTTP 헤더로 인해 발생한 하나 이상의 리디렉션이 탐색 중에 발생했습니다.
'forward_back'사용자가 앞으로 또는 뒤로 버튼을 사용하여 탐색을 시작했습니다.
'from_address_bar'사용자가 주소 표시줄 (검색주소창이라고도 함)에서 탐색을 시작했습니다.

이 API를 사용해 보려면 chrome-extension-samples 저장소의 webNavigation API 예시를 설치하세요.

유형

TransitionQualifier

Chrome 44 이상

열거형

"from_address_bar"

TransitionType

Chrome 44 이상

탐색 원인입니다. History API에 정의된 것과 동일한 전환 유형이 사용됩니다. 이전 버전과의 호환성을 위해 "auto_toplevel" 대신 "start_page"를 사용하는 경우를 제외하고 history API에 정의된 것과 동일한 전환 유형입니다.

열거형

"auto_bookmark"

"auto_subframe"

"manual_subframe"

방법

getAllFrames()

프로미스
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)

지정된 탭의 모든 프레임에 관한 정보를 검색합니다.

매개변수

  • 세부정보

    객체

    모든 프레임을 검색할 탭에 대한 정보입니다.

    • tabId

      숫자

      탭의 ID입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (details?: object[])=>void

    • 세부정보

      object[] 선택사항

      지정된 탭의 프레임 목록입니다. 지정된 탭 ID가 잘못된 경우 null입니다.

      • documentId

        string

        Chrome 106 이상

        로드된 문서의 UUID입니다.

      • documentLifecycle
        Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • errorOccurred

        boolean

        이 프레임의 마지막 탐색이 오류로 인해 중단된 경우(예: onErrorOccurred 이벤트 실행됨) true입니다.

      • frameId

        숫자

        프레임의 ID입니다. 0은 메인 프레임임을 나타내고 양수 값은 서브프레임 ID를 나타냅니다.

      • frameType
        Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        이 프레임의 렌더러를 실행하는 프로세스의 ID입니다.

      • url

        string

        현재 이 프레임과 연결된 URL입니다.

반환 값

  • Promise<object[]|undefined>

    Chrome 93 이상

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

getFrame()

프로미스
chrome.webNavigation.getFrame(
  details: object,
  callback?: function,
)

지정된 프레임에 대한 정보를 검색합니다. 프레임은 웹페이지의 <iframe> 또는 <frame>을 참조하며 탭 ID 및 프레임 ID로 식별됩니다.

매개변수

  • 세부정보

    객체

    정보를 검색할 프레임에 대한 정보입니다.

    • documentId

      문자열 선택사항

      Chrome 106 이상

      문서의 UUID입니다. frameId 또는 tabId가 제공되면 제공된 문서 ID로 찾은 문서와 일치하는지 확인합니다.

    • frameId

      number 선택사항

      지정된 탭에 있는 프레임의 ID입니다.

    • processId

      number 선택사항

      Chrome 49부터 지원 중단됨

      프레임은 이제 탭 ID 및 프레임 ID로 고유하게 식별됩니다. 프로세스 ID는 더 이상 필요하지 않으므로 무시됩니다.

      이 탭의 렌더러를 실행하는 프로세스의 ID입니다.

    • tabId

      number 선택사항

      프레임이 있는 탭의 ID입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (details?: object)=>void

    • 세부정보

      객체 선택사항

      요청된 프레임에 대한 정보입니다. 지정된 프레임 ID 또는 탭 ID가 잘못된 경우 null입니다.

      • documentId

        string

        Chrome 106 이상

        로드된 문서의 UUID입니다.

      • documentLifecycle
        Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • errorOccurred

        boolean

        이 프레임의 마지막 탐색이 오류로 인해 중단된 경우(예: onErrorOccurred 이벤트 실행됨) true입니다.

      • frameType
        Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • url

        string

        frameId로 식별된 프레임이 지정된 탭의 한 지점에 존재하는 경우 현재 이 프레임과 연결되어 있는 URL입니다. URL이 특정 frameId와 연결되어 있다고 해서 해당 프레임이 여전히 존재한다는 의미는 아닙니다.

반환 값

  • Promise<object|undefined>

    Chrome 93 이상

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

이벤트

onBeforeNavigate

chrome.webNavigation.onBeforeNavigate.addListener(
  callback: function,
  filters?: object,
)

내비게이션이 실행되려고 할 때 시작됩니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • frameId

        숫자

        0은 탭 콘텐츠 창에서 탐색이 발생했음을 나타내고 양수 값은 서브프레임에서 탐색을 나타냅니다. 프레임 ID는 특정 탭 및 프로세스별로 고유합니다.

      • Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        Chrome 50부터 지원 중단됨

        onCommit까지 결과 문서를 렌더링할 프로세스를 알 수 없으므로 이 이벤트에 프로세스 ID가 더 이상 설정되지 않습니다.

        -1의 값입니다.

      • tabId

        숫자

        탐색이 시작되려고 하는 탭의 ID입니다.

      • timeStamp

        숫자

        브라우저에서 탐색을 시작하려고 하는 시간(에포크 이후 밀리초)입니다.

      • url

        string

  • 필터

    객체 선택사항

    • 이동할 URL이 충족해야 하는 조건입니다. UrlFilter의 '스키마' 및 '포트' 필드는 이 이벤트에서 무시됩니다.

onCommitted

chrome.webNavigation.onCommitted.addListener(
  callback: function,
  filters?: object,
)

탐색이 커밋되면 시작됩니다. 문서 (및 이미지 및 하위 프레임과 같이 참조되는 리소스)가 여전히 다운로드되고 있을 수 있지만 문서의 일부분 이상이 서버로부터 수신되어 브라우저가 새 문서로 전환하기로 결정했습니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • documentId

        string

        Chrome 106 이상

        로드된 문서의 UUID입니다.

      • Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • frameId

        숫자

        0은 탭 콘텐츠 창에서 탐색이 발생했음을 나타내고 양수 값은 서브프레임에서 탐색을 나타냅니다. 프레임 ID는 탭 내에서 고유합니다.

      • Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        Chrome 74 이상

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        이 프레임의 렌더러를 실행하는 프로세스의 ID입니다.

      • tabId

        숫자

        탐색이 발생하는 탭의 ID입니다.

      • timeStamp

        숫자

        탐색이 커밋된 시간(에포크 이후 밀리초 단위)입니다.

      • transitionQualifiers

        전환 한정자의 목록입니다.

      • transitionType

        탐색 원인입니다.

      • url

        string

  • 필터

    객체 선택사항

    • 이동할 URL이 충족해야 하는 조건입니다. UrlFilter의 '스키마' 및 '포트' 필드는 이 이벤트에서 무시됩니다.

onCompleted

chrome.webNavigation.onCompleted.addListener(
  callback: function,
  filters?: object,
)

참조하는 리소스를 포함하여 문서가 완전히 로드 및 초기화되면 실행됩니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • documentId

        string

        Chrome 106 이상

        로드된 문서의 UUID입니다.

      • Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • frameId

        숫자

        0은 탭 콘텐츠 창에서 탐색이 발생했음을 나타내고 양수 값은 서브프레임에서 탐색을 나타냅니다. 프레임 ID는 탭 내에서 고유합니다.

      • Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        Chrome 74 이상

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        이 프레임의 렌더러를 실행하는 프로세스의 ID입니다.

      • tabId

        숫자

        탐색이 발생하는 탭의 ID입니다.

      • timeStamp

        숫자

        문서의 로드가 완료된 시간입니다(에포크 이후 경과 시간(밀리초)).

      • url

        string

  • 필터

    객체 선택사항

    • 이동할 URL이 충족해야 하는 조건입니다. UrlFilter의 '스키마' 및 '포트' 필드는 이 이벤트에서 무시됩니다.

onCreatedNavigationTarget

chrome.webNavigation.onCreatedNavigationTarget.addListener(
  callback: function,
  filters?: object,
)

탐색을 호스팅하기 위해 새 창 또는 기존 창의 새 탭이 생성되면 실행됩니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • sourceFrameId

        숫자

        탐색이 트리거되는 sourceTabId가 있는 프레임의 ID입니다. 0은 기본 프레임을 나타냅니다.

      • sourceProcessId

        숫자

        소스 프레임의 렌더러를 실행하는 프로세스의 ID입니다.

      • sourceTabId

        숫자

        탐색이 트리거되는 탭의 ID입니다.

      • tabId

        숫자

        URL이 열린 탭의 ID

      • timeStamp

        숫자

        브라우저에서 새 보기를 만들려는 시간(밀리초)입니다.

      • url

        string

        새 창에서 열릴 URL입니다.

  • 필터

    객체 선택사항

    • 이동할 URL이 충족해야 하는 조건입니다. UrlFilter의 '스키마' 및 '포트' 필드는 이 이벤트에서 무시됩니다.

onDOMContentLoaded

chrome.webNavigation.onDOMContentLoaded.addListener(
  callback: function,
  filters?: object,
)

페이지의 DOM이 완전히 구성되지만 참조된 리소스의 로드가 완료되지 않을 때 실행됩니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • documentId

        string

        Chrome 106 이상

        로드된 문서의 UUID입니다.

      • Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • frameId

        숫자

        0은 탭 콘텐츠 창에서 탐색이 발생했음을 나타내고 양수 값은 서브프레임에서 탐색을 나타냅니다. 프레임 ID는 탭 내에서 고유합니다.

      • Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        Chrome 74 이상

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        이 프레임의 렌더러를 실행하는 프로세스의 ID입니다.

      • tabId

        숫자

        탐색이 발생하는 탭의 ID입니다.

      • timeStamp

        숫자

        페이지의 DOM이 완전히 구성된 시간(에포크 이후 밀리초 단위)입니다.

      • url

        string

  • 필터

    객체 선택사항

    • 이동할 URL이 충족해야 하는 조건입니다. UrlFilter의 '스키마' 및 '포트' 필드는 이 이벤트에서 무시됩니다.

onErrorOccurred

chrome.webNavigation.onErrorOccurred.addListener(
  callback: function,
  filters?: object,
)

오류가 발생하고 탐색이 중단되면 실행됩니다. 네트워크 오류가 발생했거나 사용자가 내비게이션을 중단한 경우 이러한 상황이 발생할 수 있습니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • documentId

        string

        Chrome 106 이상

        로드된 문서의 UUID입니다.

      • Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • error

        string

        오류 설명입니다.

      • frameId

        숫자

        0은 탭 콘텐츠 창에서 탐색이 발생했음을 나타내고 양수 값은 서브프레임에서 탐색을 나타냅니다. 프레임 ID는 탭 내에서 고유합니다.

      • Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        Chrome 74 이상

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        Chrome 50부터 지원 중단됨

        이 이벤트에 프로세스 ID가 더 이상 설정되지 않습니다.

        -1의 값입니다.

      • tabId

        숫자

        탐색이 발생하는 탭의 ID입니다.

      • timeStamp

        숫자

        오류가 발생한 시간(에포크 이후 경과된 시간(밀리초))입니다.

      • url

        string

  • 필터

    객체 선택사항

    • 이동할 URL이 충족해야 하는 조건입니다. UrlFilter의 '스키마' 및 '포트' 필드는 이 이벤트에서 무시됩니다.

onHistoryStateUpdated

chrome.webNavigation.onHistoryStateUpdated.addListener(
  callback: function,
  filters?: object,
)

프레임 기록이 새 URL로 업데이트되면 시작됩니다. 해당 프레임의 향후 모든 이벤트는 업데이트된 URL을 사용합니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • documentId

        string

        Chrome 106 이상

        로드된 문서의 UUID입니다.

      • Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • frameId

        숫자

        0은 탭 콘텐츠 창에서 탐색이 발생했음을 나타내고 양수 값은 서브프레임에서 탐색을 나타냅니다. 프레임 ID는 탭 내에서 고유합니다.

      • Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        Chrome 74 이상

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        이 프레임의 렌더러를 실행하는 프로세스의 ID입니다.

      • tabId

        숫자

        탐색이 발생하는 탭의 ID입니다.

      • timeStamp

        숫자

        탐색이 커밋된 시간(에포크 이후 밀리초 단위)입니다.

      • transitionQualifiers

        전환 한정자의 목록입니다.

      • transitionType

        탐색 원인입니다.

      • url

        string

  • 필터

    객체 선택사항

    • 이동할 URL이 충족해야 하는 조건입니다. UrlFilter의 '스키마' 및 '포트' 필드는 이 이벤트에서 무시됩니다.

onReferenceFragmentUpdated

chrome.webNavigation.onReferenceFragmentUpdated.addListener(
  callback: function,
  filters?: object,
)

프레임의 참조 프래그먼트가 업데이트되면 실행됩니다. 해당 프레임의 향후 모든 이벤트는 업데이트된 URL을 사용합니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • documentId

        string

        Chrome 106 이상

        로드된 문서의 UUID입니다.

      • Chrome 106 이상

        문서가 속한 수명 주기입니다.

      • frameId

        숫자

        0은 탭 콘텐츠 창에서 탐색이 발생했음을 나타내고 양수 값은 서브프레임에서 탐색을 나타냅니다. 프레임 ID는 탭 내에서 고유합니다.

      • Chrome 106 이상

        탐색이 발생한 프레임 유형입니다.

      • parentDocumentId

        문자열 선택사항

        Chrome 106 이상

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 요소가 없는 경우에는 설정되지 않습니다.

      • parentFrameId

        숫자

        Chrome 74 이상

        상위 프레임의 ID 또는 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        이 프레임의 렌더러를 실행하는 프로세스의 ID입니다.

      • tabId

        숫자

        탐색이 발생하는 탭의 ID입니다.

      • timeStamp

        숫자

        탐색이 커밋된 시간(에포크 이후 밀리초 단위)입니다.

      • transitionQualifiers

        전환 한정자의 목록입니다.

      • transitionType

        탐색 원인입니다.

      • url

        string

  • 필터

    객체 선택사항

    • 이동할 URL이 충족해야 하는 조건입니다. UrlFilter의 '스키마' 및 '포트' 필드는 이 이벤트에서 무시됩니다.

onTabReplaced

chrome.webNavigation.onTabReplaced.addListener(
  callback: function,
)

탭의 콘텐츠가 다른 (일반적으로 이전에 사전 렌더링된) 탭으로 대체되면 실행됩니다.

매개변수

  • 콜백

    기능

    callback 매개변수는 다음과 같습니다.

    (details: object)=>void

    • 세부정보

      객체

      • replacedTabId

        숫자

        대체된 탭의 ID입니다.

      • tabId

        숫자

        이전 탭을 대체한 탭의 ID입니다.

      • timeStamp

        숫자

        교체가 발생한 시간입니다(에포크 이후 경과된 시간(밀리초)).