2013-06-19 51 views
0

我想改變一個鏈接的href的基礎上:如果Skype沒有安裝,顯示一個彈出解釋什麼是Skype和如何安裝它,如果安裝,更改鏈接到Skype:my.contact。名稱?呼叫,以便點擊將開始呼叫。房地產問題意味着我寧願只顯示一個鏈接。要檢測Skype的Javascript?

+0

可能重複的[檢測Skype的Javascript?](http://stackoverflow.com/questions/358397/javascript-to-detect-skype) –

回答

0

不幸的是,瀏覽器不支持這樣的API,並且這不能以跨瀏覽器兼容的方式完成。有某種支持,但它是越野車。

Javascript to detect Skype?

0

所有的瀏覽器插件名爲mimeTypes全局數組,可以通過導航對象navigator.mimeTypes訪問在登記的MIME類型。

所以你可以使用這個檢查插件是否激活。如果插件安裝和禁用 - 沒有任何MIME類型將被註冊爲該禁用的插件。如果已安裝的插件和積極的 - 他有一個MIME類型紀錄navigator.mimeTypes

使用jQuery的一些代碼實現:

jQuery.extend({checkPlugin: function(mimetype_substr) { 
    for (var i = 0; i < navigator.mimeTypes.length; i++) { 
     if (navigator.mimeTypes[i]['type'].toLowerCase().indexOf(mimetype_substr) >= 0) { 
       console.log("Gotcha! Here it is: "+navigator.mimeTypes[i]['type']); 
       return true; 
     } 
    } 
    return false; 
}}); 

所以這個:$.checkPlugin("skype");返回true如果Skype的click2call插件安裝和激活。和false如果沒有活動的插件或插件沒有安裝。

其實需要在另一個全局數組中搜索 - navigator.plugins,但所有活動插件的記錄都在navigator.mimeTypes之間,這樣會更容易一些。