2014-03-30 45 views
4

我希望我可以使用modernizer(或類似的)來確定瀏覽器是否能夠運行vbscript。它看起來不像我可以。檢測瀏覽器是否支持vbscript?

最近IE11已經修改了用戶代理刪除MSIE並替換爲「Trident」。這樣做是爲了讓IE看起來更像其他瀏覽器,符合html規範。

我有一些需要瀏覽器支持vbscript的舊網站。我正在尋找一種方法來確定如何確定瀏覽器是否支持vbscript。一些這些網站使用經典的ASP,這使得它更加困難。

想法? ty 現在,我正在考慮使用JavaScript來評估用戶代理,如果它包含msie,那麼我們可以假設它支持vbscript。

+0

http://www.php.net/manual/ro/function.get-browser.php – Companjo

回答

1

請參閱progressive enhancement

構建頁面,然後給出「不支持VBScript」的體驗。

然後添加VBScript將其轉換爲「支持VBScript」版本(添加和刪除DOM元素)。

+0

的問題是,我們有許多舊的應用程序,我們不能如果不支持vbscript,則只需要提供警告或重定向用戶。 – David

5

我能夠做到這一點的最短路線如下(可能是一種更乾淨的方式,但我不知道VBScript,我只知道Modernizr)。

var supportsVb = (function() { 
    var supports = false; 
    var vb = document.createElement('script'); 
    vb.type="text/vbscript"; 
    try { 
    vb.innerText="Err.Raise"; 
    } catch (e) { 
    supports = true; 
    } 
    return supports 
})() 

想法是隻有vbscript引擎會引發該語法的錯誤。

它可以像這樣使用:

if (supportsVb) { 
    // Make a vbscript call 
} else { 
    // Make a javascript call 
}