回答
我不认为这是可能的,除了extensions.apple.com
以外的任何其他域。
我对此做了一些广泛的测试,safari.installExtension()方法仅在域名与extensions.apple.com匹配时才存在(可能由浏览器控制,类似于某些Chrome API只显示在内部的扩展本身)。
,我首先要JS文件本身,并打开JS测试控制台这一理论:即JS文件已加载 https://extensions.apple.com/home/scripts/extensionInstall.js
后,在JS控制台类型typeof(safari.installExtension)
,它应该返回"function"
。请注意,它存在于非HTML页面上,这意味着它由浏览器提供(因为该脚本不执行,代码也不提供此方法)。
我试过在其他网站上做这个,它不存在:"undefined"
。
我也有一个疯狂的想法,它只需要扩展作为子域,所以我在http://extensions.joomla.org也测试过它,没有骰子。我似乎无法找到SSL的扩展子域。这可能会起作用,但我认真地怀疑它,因为这种方法似乎只是在苹果的特定扩展子域中才显示出来。
这里没有解决方案,但也许这可以帮助吗?
在苹果扩展库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网站特定的黑客在这里帮助?
非常有趣,我会深入苹果扩展站点,看看我能找到什么。 – opsb 2013-08-19 06:42:49