BeforeInstallPromptEvent - 网站 “安装” 到屏幕时触发的事件接口

非标准
该功能是非标准的。请尽量不要在生产环境中使用它:因为每个用户不一定会正常运行。它的实现可能存在很大的不兼容性,并且将来可能会改变行为。

BeforeInstallPromptEvent 是在 Window.onbeforeinstallprompt 处理程序中,提示用户将网站 “安装” 到移动主屏幕时触发的事件接口。

该接口继承自 Event 接口。

构造函数

BeforeInstallPromptEvent()

创建一个新的 BeforeInstallPromptEvent

属性

继承了父类 Event 的属性。

BeforeInstallPromptEvent.platforms 只读

返回在事件触发后,包含平台的 DOMString 项目的数组。提供该选项,是为了让用户代理可以给用户选择不同的版本,例如返回了 “web” 或 “play” 表示用户可以在 Web 版本或 Android 版本之间选择。

BeforeInstallPromptEvent.userChoice 只读

返回一个 Promise,它解析的返回值是一个 DOMString,值为 “accepted” 或 “dismissed”。

方法

BeforeInstallPromptEvent.prompt()

允许开发人员在他们指定的时间显示安装提示。该方法返回 Promise

实例

window.addEventListener("beforeinstallprompt", function(e) { 
  // 记录在安装提示中的平台选项
  console.log(e.platforms); // 例如 ["web", "android", "windows"] 
  e.userChoice.then(function(outcome) { 
    console.log(outcome); // "accepted" 或 "dismissed"
  }, handleError); 
});

规范

规范 状态 备注
Web App Manifest
BeforeInstallPromptEvent 的定义
工作草案 初始定义。

桌面浏览器兼容性

特性 Chrome Firefox Internet Explorer Opera Safari
基础支持 45 不支持 不支持 不支持 不支持
constructor 45 不支持 不支持 不支持 不支持
platforms propety 45 不支持 不支持 不支持 不支持
userChoice property 45 不支持 不支持 不支持 不支持
prompt() method 45 不支持 不支持 不支持 不支持

移动浏览器兼容性

特性 Android Webview Chrome for Android Firefox Mobile IE Mobile Opera Mobile Safari Mobile
基础支持 45 45 不支持 不支持 不支持 不支持
consructor 45 45 不支持 不支持 不支持 不支持
platforms property 45 45 不支持 不支持 不支持 不支持
userChoice property 45 45 不支持 不支持 不支持 不支持
prompt() method 45 45 不支持 不支持 不支持 不支持