What Is The Replacement For Performance.navigation.type In Angular?
I have this code in order to know if the page is reload by the user, unfortunately is deprecated. I want to know if angular has this approach. if (performance.navigation.type === 1
Solution 1:
Not specific to Angular, but this API has been replaced by the PerformanceNavigationTiming one, which also has a type
property, but which returns a string instead of a numerical code.
However I just noticed that Chrome won't expose this for iframes, which will always output "navigate"
.
The following snippet won't work in Chrome, please try this plnkr instead, in external view.
const entries = performance.getEntriesByType("navigation");
console.log( entries.map( nav => nav.type ) );
rel.onclick = e => location.reload();
<button type="button" id="rel">reload</button>
<a href="404">go to 404 (come back with your browser's back button)</a>
Solution 2:
performance.navigation
was deprecated. To get navigation type you can use getEntriesByType
Example
console.log(performance.getEntriesByType("navigation")[0].type)
The type
value can be
enum NavigationType {
"navigate",
"reload",
"back_forward",
"prerender"
};
See more: https://w3c.github.io/navigation-timing/#sec-performance-navigation-types
Solution 3:
I want to add that running:
performance.getEntriesByType("navigation");
returns an empty array in Safari
Post a Comment for "What Is The Replacement For Performance.navigation.type In Angular?"