BeforeInstallPrompt - Web API 接口参考 编辑
非标准
该特性是非标准的,请尽量不要在生产环境中使用它!
在一个用户被提示”安装“一个网站到移动设备的一个主屏幕之前, BeforeInstallPromptEvent
被Window.onbeforeinstallprompt
处理程序触发。
该接口继承自Event
接口。
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 8.571428571428571%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-20 0 700 60" preserveAspectRatio="xMinYMin meet"><a xlink:href="https://developer.mozilla.org/wiki/zh-CN/docs/Web/API/Event" target="_top"><rect x="1" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="38.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Event</text></a><polyline points="76,25 86,20 86,30 76,25" stroke="#D4DDE4" fill="none"/><line x1="86" y1="25" x2="116" y2="25" stroke="#D4DDE4"/><a xlink:href="/wiki/zh-CN/docs/Web/API/BeforeInstallPromptEvent" target="_top"><rect x="116" y="1" width="240" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="236" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">BeforeInstallPromptEvent</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
构造器
new window.BeforeInstallPromptEvent(name, eventInitOptions)
- 创建一个新的
BeforeInstallPromptEvent
.
属性
继承自父类,Event
.
BeforeInstallPromptEvent.platform
只读- 返回一个包含了调度事件的平台(s)的
DOMString
数组。这是为希望向用户提供版本选择的user agent提供的,例如,“web”或“play”允许用户在web版本或Android版本之间进行选择。 BeforeInstallPromptEvent.userChoice
只读- 返回一个可以解析为
DOMString
的Promise
,其值为 'installed' 或 'dismissed',用以判断用户是否选择安装该PWA。
方法
BeforeInstallPromptEvent.prompt()
- 立即弹出安装提示。允许开发者按照自己选择的时间弹出安装提示。该方法返回
Promise
。
例子
window.addEventListener("beforeinstallprompt", function(e) { // log the platforms provided as options in an install prompt console.log(e.platforms); // e.g., ["web", "android", "windows"] e.userChoice.then(function(outcome) { console.log(outcome); // either "installed", "dismissed", etc. }, handleError); });
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 44.0 [1] | 未实现 | 未实现 | 未实现 | 未实现 |
prompt() method. | 45.0 [1] | 未实现 | 未实现 | 未实现 | 未实现 |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | 未实现 | 44.0 [1] | 未实现 | 未实现 | 未实现 | 未实现 | 44.0 [1] |
prompt() method. | 未实现 | 45.0 [1] | 未实现 | 未实现 | 未实现 | 未实现 | 45.0 [1] |
[1] Behind the flagchrome://flags/#bypass-app-banner-engagement-checks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论