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 | 不支持 | 不支持 | 不支持 | 不支持 |