Safari扩展的一键式安装

Safari扩展的一键式安装,safari,installation,safari-extension,Safari,Installation,Safari Extension,当用户下载插件firefox(例如)时,插件安装会在下载完成后立即开始 在safari中有可能实现同样的目标吗?i、 e.用户单击链接下载插件,一旦下载,它就会自动开始安装。这里没有解决方案,但这可能有帮助吗 在apple extension gallery中的extensions do安装只需点击一下,我想在我的一个网站上实现同样的功能,所以我去查看了他们的JS源代码 那里的javascript文件定义了一个“extensionneclick”对象() 有一种方法专门用于安装扩展: // hr

当用户下载插件firefox(例如)时,插件安装会在下载完成后立即开始


在safari中有可能实现同样的目标吗?i、 e.用户单击链接下载插件,一旦下载,它就会自动开始安装。

这里没有解决方案,但这可能有帮助吗

在apple extension gallery中的extensions do安装只需点击一下,我想在我的一个网站上实现同样的功能,所以我去查看了他们的JS源代码

那里的javascript文件定义了一个“extensionneclick”对象()

有一种方法专门用于安装扩展:

// href : path to the extension ".safariextz" file
// id   : com.whatever.myextension-<safaridevelopper10charsid>

safari.installExtension(id, href);
//href:扩展名“.safariextz”文件的路径
//id:com.whatever.myextension-
safari.installExtension(id,href);

我试图在我的网站上复制这一点,但我得到了“safari未定义”,所以我想safari中的一个特定于网站的黑客在这里有帮助吗?

我认为除了
extensions.apple.com
之外,在任何其他领域都不可能做到这一点

我对此做了一些广泛的测试,safari.installExtension()方法只有在域与extensions.apple.com匹配时才出现(可能是由浏览器控制的,类似于某些ChromeAPI只在扩展内部出现)

我通过转到JS文件本身并打开JS控制台来测试这一理论:

加载JS文件后,在JS控制台中键入
typeof(safari.installExtension)
,它应该返回
“函数”
。请注意,它存在于非HTML页面上,这意味着它是由浏览器提供的(因为此脚本不执行,也没有提供此方法的代码)

我在其他网站上尝试过这样做,但它并不存在:
“未定义”


我也有一个疯狂的想法,它只需要扩展作为子域,所以我也测试了它,没有骰子。我似乎找不到一个扩展子域是SSL。这可能行得通,但我严重怀疑,因为该方法似乎受到监管,只在苹果特定扩展子域中出现。

非常有趣,我将深入苹果扩展网站,看看能找到什么。