BeforeInstallPrompt - Web API 接口参考 编辑

非标准
该特性是非标准的,请尽量不要在生产环境中使用它!

在一个用户被提示”安装“一个网站到移动设备的一个主屏幕之前,  BeforeInstallPromptEventWindow.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 只读
返回一个可以解析为 DOMStringPromise ,其值为 '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!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support

44.0 [1]

未实现未实现未实现未实现
prompt() method.45.0 [1]未实现未实现未实现未实现
FeatureAndroidAndroid WebviewFirefox Mobile (Gecko)IE MobileOpera MobileSafari MobileChrome 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:33 次

字数:7162

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文