Adds support for experimental Navigation API #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello, folks! 🖖
This pull request addresses #1. It adds support for the Navigation API, and preferably uses it when available.
flowchart TD Start([onNavigate called]) --> CheckHijacked{historyHijacked?} CheckHijacked -->|true| AddCallback[Add callback to set] CheckHijacked -->|false| TryNav[Try hookNavigation] TryNav --> NavCheck{Navigation API<br/>available?} NavCheck -->|Yes| UseNav[Use window.navigation<br/>addEventListener] NavCheck -->|No| UseHistory[Use hookHistory] UseNav --> SetFlag1[Set historyHijacked = true] UseHistory --> HijackMethods[Hijack pushState<br/>& replaceState] HijackMethods --> SetFlag2[Set historyHijacked = true] style UseNav fill:#90EE90 style UseHistory fill:#FFB6C1 style SetFlag1 fill:#87CEEB style SetFlag2 fill:#87CEEBCloses #1 .