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 이벤트가 실행됩니다. 이 이벤트는 onDOMContentLoaded 이후, onCompleted 이후에도 언제든지 실행될 수 있습니다.

프레임 상태를 수정하는 데 기록 API를 사용하는 경우 (예: history.pushState() 사용, onHistoryStateUpdated 이벤트가 시작됩니다. 이 이벤트는 onDOMContentLoaded 이후 언제든지 발생할 수 있습니다.

탐색이 뒤로 앞으로 캐시에서 페이지를 복원한 경우 onDOMContentLoaded 이벤트 실행되지 않습니다. 페이지가 로드될 때 콘텐츠 로드가 이미 완료되었으므로 이벤트가 시작되지 않습니다. 알 수 있습니다.

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

webRequest 이벤트와의 관계

webRequest API의 이벤트와 webNavigation API를 사용합니다. 이미 요청을 받은 프레임에 대해 webRequest 이벤트가 수신되고 새 탐색을 시작했거나 네트워크 리소스가 이미 시작된 후에만 탐색이 진행되도록 합니다. 있습니다.

일반적으로 webNavigation 이벤트는 화면에 표시되는 탐색 상태와 밀접하게 관련되어 있습니다. 반면에 webRequest 이벤트는 상태에 있는 네트워크 스택의 상태에 상응하며 일반적으로 사용자에게 불투명합니다.

탭 ID

탐색하는 모든 탭이 Chrome UI의 실제 탭과 일치하는 것은 아닙니다(예: 탐색 중인 탭). 있습니다. 이러한 탭은 Tabs API를 통해 액세스할 수 없으며 정보를 요청할 수도 없습니다. webNavigation.getFrame 또는 webNavigation.getAllFrames를 통해 정보를 수집하세요. 이러한 탭이 교체되면 onTabReplaced 이벤트가 실행되고 이러한 API를 통해 액세스할 수 있습니다.

타임스탬프

OS가 별개의 Chrome을 처리하는 동안 몇 가지 기술적으로 이상한 점이 있다는 점에 유의해야 합니다. 브라우저 자체와 확장 프로그램 프로세스 간에 시계가 왜곡될 수 있습니다. 그 것이 이는 WebNavigation의 이벤트가 timeStamp 속성은 내부적으로만 보장됩니다. 일관성이 있어야 합니다. 한 이벤트를 다른 이벤트와 비교하면 이벤트 간의 정확한 오프셋을 확인할 수 있지만 확장 프로그램 내의 현재 시간과 비교 (예: (new Date()).getTime() 사용) 예기치 않은 결과가 발생할 수 있습니다

프레임 ID

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

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

또한 임시 로드 중에 프로세스가 여러 번 전환될 수 있습니다. 이러한 상황은 로드가 다른 사이트로 리디렉션될 때 이 경우 마지막 onCommitted 이벤트를 수신할 때까지 onBeforeNavigateonErrorOccurred 이벤트 발생

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

전환 유형 및 한정자

webNavigation API의 onCommitted 이벤트에는 transitionTypetransitionQualifiers가 있습니다. 속성 전환 유형history API에서 브라우저가 이 특정 URL로 이동했습니다. 또한 몇 가지 전환 한정자를 탐색을 추가로 정의하는 속성이 반환됩니다.

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

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

이 API를 사용하려면 chrome-extension-samples에서 webNavigation API 예를 설치하세요. 저장소

유형

TransitionQualifier

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

열거형

'client_redirect'

'server_redirect'

"forward_back"

"from_address_bar"

TransitionType

Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

열거형

"링크"

"typed"

"auto_bookmark"

"auto_subframe"

"manual_subframe"

'생성됨'

"start_page"

"form_submit"

"새로고침"

"키워드"

"keyword_generated"

메서드

getAllFrames()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.webNavigation.getAllFrames(
  details: object,
  callback?: function,
)

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

매개변수

  • 세부정보

    객체

    모든 프레임을 가져올 탭에 관한 정보입니다.

    • tabId

      숫자

      탭의 ID입니다.

  • 콜백

    함수 선택사항

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

    (details?: object[]) => void

    • 세부정보

      Object[] 선택사항

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

      • documentId

        문자열

        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        로드된 문서의 UUID입니다.

      • documentLifecycle
        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        문서의 수명 주기입니다.

      • errorOccurred

        부울

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

      • frameId

        숫자

        프레임의 ID입니다. 0은 기본 프레임임을 나타냅니다. 양수 값은 서브프레임의 ID를 나타냅니다.

      • frameType
        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

      • parentDocumentId

        문자열(선택사항)

        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 항목이 없으면 설정되지 않습니다.

      • parentFrameId

        숫자

        상위 프레임의 ID이거나 기본 프레임인 경우 -1입니다.

      • processId

        숫자

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

      • URL

        문자열

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

반환 값

  • Promise&lt;object[] | 정의되지 않음>

    Chrome 93 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getFrame()

<ph type="x-smartling-placeholder"></ph> 프로미스 를 통해 개인정보처리방침을 정의할 수 있습니다.
chrome.webNavigation.getFrame(
  details: object,
  callback?: function,
)

지정된 프레임에 관한 정보를 검색합니다. 프레임은 페이지의 <iframe> 또는 <frame> 탭 ID와 프레임 ID로 식별됩니다.

매개변수

  • 세부정보

    객체

    정보를 가져올 프레임에 관한 정보입니다.

    • documentId

      문자열(선택사항)

      Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

    • frameId

      숫자 선택사항

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

    • processId

      숫자 선택사항

      <ph type="x-smartling-placeholder"></ph> Chrome 49 이후 지원 중단됨

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

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

    • tabId

      숫자 선택사항

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

  • 콜백

    함수 선택사항

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

    (details?: object) => void

    • 세부정보

      객체(선택사항)

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

      • documentId

        문자열

        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        로드된 문서의 UUID입니다.

      • documentLifecycle
        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        문서의 수명 주기입니다.

      • errorOccurred

        부울

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

      • frameType
        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

      • parentDocumentId

        문자열(선택사항)

        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 항목이 없으면 설정되지 않습니다.

      • parentFrameId

        숫자

        상위 프레임의 ID이거나 기본 프레임인 경우 -1입니다.

      • URL

        문자열

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

반환 값

  • Promise&lt;object | 정의되지 않음>

    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

        숫자

        <ph type="x-smartling-placeholder"></ph> Chrome 50 이후 지원 중단됨

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

        -1의 값입니다.

      • tabId

        숫자

        탐색이 실행하려는 탭의 ID입니다.

      • timeStamp

        숫자

        브라우저에서 탐색을 시작하려 했던 시간을 에포크 이후의 시간(밀리초)으로 나타냅니다.

      • URL

        문자열

  • 필터

    객체(선택사항)

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

onCommitted

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

탐색이 커밋되면 실행됩니다. 문서 및 해당 문서가 참조하는 리소스 (예: 이미지 및 하위 프레임)가 아직 다운로드 중일 수 있지만 문서의 일부분을 서버에서 수신했으며 브라우저에서 새 문서로 전환하기로 결정했습니다.

매개변수

  • 콜백

    함수

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

    (details: object) => void

    • 세부정보

      객체

      • documentId

        문자열

        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

        문자열

  • 필터

    객체(선택사항)

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

onCompleted

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

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

매개변수

  • 콜백

    함수

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

    (details: object) => void

    • 세부정보

      객체

      • documentId

        문자열

        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

        문자열

  • 필터

    객체(선택사항)

    • 이동되는 URL이 충족해야 하는 조건입니다. '스키마' 및 'ports' 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

        문자열

        새 창에서 열 URL입니다.

  • 필터

    객체(선택사항)

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

onDOMContentLoaded

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

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

매개변수

  • 콜백

    함수

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

    (details: object) => void

    • 세부정보

      객체

      • documentId

        문자열

        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

        문자열

  • 필터

    객체(선택사항)

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

onErrorOccurred

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

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

매개변수

  • 콜백

    함수

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

    (details: object) => void

    • 세부정보

      객체

      • documentId

        문자열

        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        로드된 문서의 UUID입니다.

      • Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        문서의 수명 주기입니다.

      • 오류

        문자열

        오류 설명입니다.

      • frameId

        숫자

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

      • Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

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

      • parentDocumentId

        문자열(선택사항)

        Chrome 106 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        이 프레임을 소유한 상위 문서의 UUID입니다. 상위 항목이 없으면 설정되지 않습니다.

      • parentFrameId

        숫자

        Chrome 74 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.

        상위 프레임의 ID이거나 기본 프레임인 경우 -1입니다.

      • processId

        숫자

        <ph type="x-smartling-placeholder"></ph> Chrome 50 이후 지원 중단됨

        이 이벤트에 대해 processId가 더 이상 설정되지 않습니다.

        -1의 값입니다.

      • tabId

        숫자

        탐색이 실행되는 탭의 ID입니다.

      • timeStamp

        숫자

        오류가 발생한 시간을 에포크 이후 밀리초 단위로 나타낸 것입니다.

      • URL

        문자열

  • 필터

    객체(선택사항)

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

onHistoryStateUpdated

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

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

매개변수

  • 콜백

    함수

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

    (details: object) => void

    • 세부정보

      객체

      • documentId

        문자열

        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

        문자열

  • 필터

    객체(선택사항)

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

onReferenceFragmentUpdated

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

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

매개변수

  • 콜백

    함수

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

    (details: object) => void

    • 세부정보

      객체

      • documentId

        문자열

        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

        문자열

  • 필터

    객체(선택사항)

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

onTabReplaced

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

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

매개변수

  • 콜백

    함수

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

    (details: object) => void

    • 세부정보

      객체

      • replacedTabId

        숫자

        교체된 탭의 ID입니다.

      • tabId

        숫자

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

      • timeStamp

        숫자

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