gpt4 book ai didi

javascript - 检查 safari 浏览器是否能够安装扩展

转载 作者:行者123 更新时间:2023-12-03 06:09:53 27 4
gpt4 key购买 nike

我想要一个网页为 Safari 用户提供浏览器扩展。此网页已向 Google Chrome 和 Firefox 用户提供扩展。

在 Chrome 中,如果可以向用户提供 Chrome 扩展程序,则 Javascript 表达式 typeof chrome.webstore.install !== 'undefined' 将返回 true。

在 Firefox 中,它是 typeof InstallTrigger !== 'undefined'

如果可以安装 Safari 扩展,是否有类似的表达式会返回 true?

最佳答案

Apple 强烈鼓励扩展开发人员 submit their extensions to the Safari Extensions Gallery .

如果您从自己的站点分发扩展程序,则用户的安装过程不是最佳的,并且存在多个用户必须同意的“信任”对话框。

据我所知,您可以通过自己的 Safari 网站完成以下操作:

1。检测浏览器为Safari。

虽然浏览器检测不是 100% 有效,并且首选基于功能的检测,但在这种情况下,您可以在对 Chrome 和 Firefox 进行有效的基于功能的检测之后,对 Safari 进行简单、相当有效的测试(关键是对 navigator.vendor 的检查):

var isSafari = /Apple Computer/.test(navigator.vendor) && /Safari/.test(navigator.userAgent);

或者,您可以使用 more complex 之一browser detection也可以处理小型浏览器的脚本。

2。可选择检测 Safari 的版本

如果您需要 Safari 特定版本中提供的功能,您可以选择执行浏览器版本检查。

function getSafariVersion() {
var index = navigator.userAgent.indexOf("Version");
if (index == -1) return;
return parseFloat(navigator.userAgent.substring(index+"Version".length+1));
}

注意:如果用户更改了浏览器的用户代理,则此检查将不准确。

3。提供.safariextz下载,并要求用户打开它。

链接到扩展包,鼓励用户下载它,并提供手动安装过程的说明(最好是屏幕截图)。

(这就是 1Password 在 their extension install page 上所做的事情。)

<小时/>

奖金:

要处理用户已经安装了您的扩展的情况,有多种方法 detect whether your Safari extension is installed来自您的网站。

关于javascript - 检查 safari 浏览器是否能够安装扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39370831/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com