2012-07-07 79 views
4

當用戶下載插件firefox時(例如),下載完成後立即開始插件安裝。Safari瀏覽器擴展的一鍵安裝

safari中可以實現同樣的功能嗎?即用戶點擊鏈接下載插件,一旦下載插件自動開始安裝。

回答

2

我不認爲這是可能的,除了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的擴展子域。這可能會起作用,但我認真地懷疑它,因爲這種方法似乎只是在蘋果的特定擴展子域中才顯示出來。

1

這裏沒有解決方案,但也許這可以幫助嗎?

在蘋果擴展庫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網站特定的黑客在這裏幫助?

+0

非常有趣,我會深入蘋果擴展站點,看看我能找到什麼。 – opsb 2013-08-19 06:42:49