2014-03-30 203 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 
} 
相关问题