检测浏览器是否支持VBScript?

5
我希望能使用Modernizer(或类似工具)来确定浏览器是否支持运行VBScript。不过看起来我不能这样做。
最近,IE11修改了用户代理,删除了MSIE并替换成“Trident”。这是为了使IE看起来更像其他浏览器,符合html规范。
我有很多旧网站需要浏览器支持VBScript。我正在寻找一种方法来确定如何确定浏览器是否支持VBScript。其中一些网站使用经典的ASP,这使得它更加困难。
有什么好的想法吗?谢谢! 目前,我考虑使用JavaScript来评估用户代理,如果包含msie,则可以假定它支持VBScript。

http://www.php.net/manual/ro/function.get-browser.php - Companjo
2个回答

4
我能做的最简单的方法如下(可能有更好的方法,但我不懂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
}

1

请看渐进增强

构建页面,让它呈现“VBScript不受支持”的体验。

然后添加VBScript以将其转换为“VBScript受支持”的版本(添加和删除DOM元素)。


问题在于我们有许多旧应用程序,无法重写,只想在不支持VBScript时提供警告或重定向用户。 - David

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接