Push API

API to allow messages to be pushed from a server to a browser, even when the site isn't focused or even open in the browser.

Spec https://w3c.github.io/push-api/
Status W3C Working Draft
IE Edge Firefox Chrome Safari Opera
      98 (2)    
    95 (2) 97 (2)    
    94 (2) 96 (2) TP (3)  
11 95 (2) 93 (2) 95 (2) 15 (3) 80 (2)
10 94 (2) 92 (2) 94 (2) 14.1 (3) 79 (2)
9 93 (2) 91 (2) 93 (2) 14 (3) 78 (2)
8 92 (2) 90 (2) 92 (2) 13.1 (3) 77 (2)
Show all
7 91 (2) 89 (2) 91 (2) 13 (3) 76 (2)
6 90 (2) 88 (2) 90 (2) 12.1 (3) 75 (2)
5.5 89 (2) 87 (2) 89 (2) 12 (3) 74 (2)
  88 (2) 86 (2) 88 (2) 11.1 (3) 73 (2)
  87 (2) 85 (2) 87 (2) 11 (3) 72 (2)
  86 (2) 84 (2) 86 (2) 10.1 (3) 71 (2)
  85 (2) 83 (2) 85 (2) 10 (3) 70 (2)
  84 (2) 82 (2) 84 (2) 9.1 (3) 69 (2)
  83 (2) 81 (2) 83 (2) 9 68 (2)
  81 (2) 80 (2) 81 (2) 8 67 (2)
  80 (2) 79 (2) 80 (2) 7.1 66 (2)
  79 (2) 78 (2) 79 (2) 7 65 (2)
  18 77 (2) 78 (2) 6.1 64 (2)
  17 76 (2) 77 (2) 6 63 (2)
  16 75 (2) 76 (2) 5.1 62 (2)
  15 74 (2) 75 (2) 5 60 (2)
  14 73 (2) 74 (2) 4 58 (2)
  13 72 (2) 73 (2) 3.2 57 (2)
  12 71 (2) 72 (2) 3.1 56 (2)
    70 (2) 71 (2)   55 (2)
    69 (2) 70 (2)   54 (2)
    68 (2) 69 (2)   53 (2)
    67 (2) 68 (2)   52 (2)
    66 (2) 67 (2)   51 (2)
    65 (2) 66 (2)   50 (2)
    64 (2) 65 (2)   49 (2)
    63 (2) 64 (2)   48 (2)
    62 (2) 63 (2)   47 (2)
    61 (2) 62 (2)   46 (2)
    60 (2,4) 61 (2)   45 (2)
    59 (2) 60 (2)   44 (2)
    58 (2) 59 (2)   43 (2)
    57 (2) 58 (2)   42 (2)
    56 (2) 57 (2)   41
    55 (2) 56 (2)   40
    54 (2) 55 (2)   39
    53 (2) 54 (2)   38
    52 (2,4) 53 (2)   37
    51 (2) 52 (2)   36
    50 (2) 51 (2)   35
    49 (2) 50 (2)   34
    48 (2) 49 (1,2)   33
    47 (2) 48 (1,2)   32
    46 (2) 47 (1,2)   31
    45 (2,4) 46 (1,2)   30
    44 (2) 45 (1,2)   29
    43 44 (1,2)   28
    42 43   27
    41 42   26
    40 41   25
    39 40   24
    38 39   23
    37 38   22
    36 37   21
    35 36   20
    34 35   19
    33 34   18
    32 33   17
    31 32   16
    30 31   15
    29 30   12.1
    28 29   12
    27 28   11.6
    26 27   11.5
    25 26   11.1
    24 25   11
    23 24   10.6
    22 23   10.5
    21 22   10.0-10.1
    20 21   9.5-9.6
    19 20   9
    18 19    
    17 18    
    16 17    
    15 16    
    14 15    
    13 14    
    12 13    
    11 12    
    10 11    
    9 10    
    8 9    
    7 8    
    6 7    
    5 6    
    4 5    
    3.6 4    
    3.5      
    3      
    2      
Safari on iOS Opera Mini Android Browser Blackberry Browser Opera Mobile Android Chrome Android Firefox IE Mobile Android UC Browser Samsung Internet QQ Browser Baidu Browser KaiOS Browser
15 all 94 10 64 94 92 11 12.12 15.0 10.4 7.12 2.5 (2)
14.5-14.8   4.4.3-4.4.4 7 12.1     10   14.0      
14.0-14.4   4.4   12         13.0      
13.4-13.7   4.2-4.3   11.5         12.0      
Show all
13.3   4.1   11.1         11.1-11.2      
13.2   4   11         10.1      
13.0-13.1   3   10         9.2      
12.2-12.5   2.3             8.2      
12.0-12.1   2.2             7.2-7.4      
11.3-11.4   2.1             6.2-6.4      
11.0-11.2                 5.0-5.4      
10.3                 4      
10.0-10.2                        
9.3                        
9.0-9.2                        
8.1-8.4                        
8                        
7.0-7.1                        
6.0-6.1                        
5.0-5.1                        
4.2-4.3                        
4.0-4.1                        
3.2                        

Notes

  1. Partial support refers to not supporting PushEvent.data and PushMessageData

  2. Requires full browser to be running to receive messages

  3. Safari supports a custom implementation https://developer.apple.com/notifications/safari-push-notifications/. WWDC video by apple : https://developer.apple.com/videos/play/wwdc2013/614/

  4. Disabled on Firefox ESR, but can be re-enabled with the dom.serviceWorkers.enabled and dom.push.enabled flags

Resources

Data by caniuse.com
Licensed under the Creative Commons Attribution License v4.0.
https://caniuse.com/push-api