この翻訳は不完全です。英語から この記事を翻訳 してください。

ナビゲーションのいろいろな段階でイベントリスナーを追加します。ナビゲーションにはある URL から他に移動するブラウザーフレームにより成り立っていて、それは(いつもではなく)通常はリンクのクリックやロケーションバーへの URL 入力といったユーザー操作の応答として発生します。

webRequest API と比較して: ナビゲーションは通常、ブラウザーにウェブリクエストを発生させますが、webRequest API は HTTP 層からの低レベルな観点に関心を持っており、一方で webNavigation API はブラウザー UI 自身に対して、より関心を持っています。

それぞれのイベントはナビゲーションの特定のステージに対応しています。イベントシーケンスは次の通りです:

それぞれのナビゲーションは特定のブラウザーフレーム内の URL の遷移です。ブラウザーフレームはタブ ID とフレーム ID で識別されます。フレームはタブ内の再上位のブラウジングコンテキストである場合や、iframe として実装されたネストされたブラウジングコンテキストである場合があります。

それぞれのイベントの addListener() の呼び出しはオプションの filter パラメーターを受け入れます。filter は1つ以上の URL パターンを指定し、イベントはターゲット URL がパターンにマッチしたナビゲーションの時だけに発火します。

onCommitted イベントリスナーには2つの追加プロパティが渡されます: ナビゲーションの原因 (例えばユーザーがリンクをクリックしたり、ユーザーがブックマークを選んだり) を示すTransitionType と、ナビゲーションの詳細情報を提供するTransitionQualifier です。

この API を使うには"webNavigation" パーミッションが必要です。

webNavigation.TransitionType
Cause of the navigation: 例えば、 the user clicked a link, or typed an address, or clicked a bookmark.
webNavigation.TransitionQualifier
Extra information about a transition.

関数

webNavigation.getFrame()
Retrieves information about a particular frame. A frame may be the top-level frame in a tab or a nested iframe, and is uniquely identified by a tab ID and a frame ID.
webNavigation.getAllFrames()

Given a tab ID, retrieves information about all the frames it contains.

イベント

webNavigation.onBeforeNavigate

Fired when the browser is about to start a navigation event.

webNavigation.onCommitted
Fired when a navigation is committed. At least part of the new document has been received from the server and the browser has decided to switch to the new document.
webNavigation.onDOMContentLoaded
Fired when the DOMContentLoaded event is fired in the page.
webNavigation.onCompleted
Fired when a document, including the resources it refers to, is completely loaded and initialized. This is equivalent to the DOM load event.
webNavigation.onErrorOccurred
Fired when an error occurs and the navigation is aborted. This can happen if either a network error occurred, or the user aborted the navigation.
webNavigation.onCreatedNavigationTarget
Fired when a new window, or a new tab in an existing window, is created to host a navigation: for example, if the user opens a link in a new tab.
webNavigation.onReferenceFragmentUpdated
Fired if the fragment identifier for a page is changed.
webNavigation.onTabReplaced

Fired when the contents of the tab is replaced by a different (usually previously pre-rendered) tab.

webNavigation.onHistoryStateUpdated
Fired when the page used the history API to update the URL displayed in the browser's location bar.

ブラウザ実装状況

ChromeEdgeFirefoxFirefox for AndroidOpera
TransitionQualifier あり なし48 *48 *17
TransitionType あり なし48 *48 *17
getAllFrames あり あり474817
getFrame あり あり474817
onBeforeNavigate あり * あり *45 *48 *17 *
onCommitted あり * あり *45 *48 *17 *
onCompleted あり * あり *45 *48 *17 *
onCreatedNavigationTarget あり * あり54 *54 *17 *
onDOMContentLoaded あり * あり *45 *48 *17 *
onErrorOccurred あり * あり *45 *48 *17 *
onHistoryStateUpdated あり あり *474817
onReferenceFragmentUpdated あり * あり *45 *48 *17 *
onTabReplaced あり あり45 *48 *17

Example extensions

Acknowledgements

This API is based on Chromium's chrome.webNavigation API. This documentation is derived from web_navigation.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

ドキュメントのタグと貢献者

このページの貢献者: Uemmra3
最終更新者: Uemmra3,