Check if page gets reloaded or refreshed in JavaScript

前端 未结 12 2879
遇见更好的自我
遇见更好的自我 2020-11-21 22:57

I want to check when someone tries to refresh a page.

For example, when I open a page nothing happens but when I refresh the page it should display an alert.

12条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2020-11-21 23:46

    New standard 2018-now (PerformanceNavigationTiming)

    window.performance.navigation property is deprecated in the Navigation Timing Level 2 specification. Please use the PerformanceNavigationTiming interface instead.

    PerformanceNavigationTiming.type

    This is an experimental technology.

    Check the Browser compatibility table carefully before using this in production.

    Support on 2019-07-08

    The type read-only property returns a string representing the type of navigation. The value must be one of the following:

    • navigate — Navigation started by clicking a link, entering the URL in the browser's address bar, form submission, or initializing through a script operation other than reload and back_forward as listed below.

    • reload — Navigation is through the browser's reload operation or location.reload().

    • back_forward — Navigation is through the browser's history traversal operation.

    • prerender — Navigation is initiated by a prerender hint.

    This property is Read only.

    The following example illustrates this property's usage.

    function print_nav_timing_data() {
      // Use getEntriesByType() to just get the "navigation" events
      var perfEntries = performance.getEntriesByType("navigation");
    
      for (var i=0; i < perfEntries.length; i++) {
        console.log("= Navigation entry[" + i + "]");
        var p = perfEntries[i];
        // dom Properties
        console.log("DOM content loaded = " + (p.domContentLoadedEventEnd - p.domContentLoadedEventStart));
        console.log("DOM complete = " + p.domComplete);
        console.log("DOM interactive = " + p.interactive);
    
        // document load and unload time
        console.log("document load = " + (p.loadEventEnd - p.loadEventStart));
        console.log("document unload = " + (p.unloadEventEnd - p.unloadEventStart));
    
        // other properties
        console.log("type = " + p.type);
        console.log("redirectCount = " + p.redirectCount);
      }
    }
    

提交回复
热议问题