一个键安装的Safari扩展(One Click install for Safari Extens

2019-09-19 05:05发布

当用户下载一个插件的Firefox(例如)安装插件一旦下载完成后开始。

是否有可能实现在Safari同样的事情? 即用户点击链接下载插件,一旦下载将自动开始安装。

Answer 1:

我不认为这是可能的,除了上任何其他域做extensions.apple.com

我做了一些广泛的测试在此,如果域名匹配extensions.apple.com(可能是由浏览器来控制,类似于如何某些浏览器的API只是内部扩展自己显示出来)的safari.installExtension()方法只存在。

我首先要JS文件本身,并打开JS测试控制台这一理论: https://extensions.apple.com/home/scripts/extensionInstall.js

该JS文件已加载后,键入typeof(safari.installExtension)在JS控制台,它应该返回"function" 。 请注意,它存在一个非HTML页面,这意味着它是由浏览器提供的(因为这个剧本不执行,也有它的代码提供此方法)。

我试着在其他网站上这样做的,它不存在: "undefined"

我也有一个疯狂的想法,它只是需要扩展为子域,所以我测试http://extensions.joomla.org也没有骰子。 我似乎无法找到一个扩展子域的SSL虽然。 这可能工作,但我严重怀疑它的方法似乎被调整到只出现在苹果公司的特定扩展名的子域时。



Answer 2:

对于这里,但也许这可以帮助没有解决办法?

在苹果扩展程序库https://extensions.apple.com扩展也安装在一个点击,我想实现我的一个网站一样的,所以我去检查过他们的JS代码。

JavaScript文件有定义了一个“ExtensionOneClick”对象( https://extensions.apple.com/home/scripts/extensions.js )。

一种方法是专门为安装扩展:

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

safari.installExtension(id, href);

我试图复制这个在我的网站,但我得到“Safari是不确定的”,所以我想在Safari网站特定的黑客在这里帮助?



文章来源: One Click install for Safari Extensions