Internet explorer Internet Explorer 11中的VBScript支持

Internet explorer Internet Explorer 11中的VBScript支持,internet-explorer,vbscript,internet-explorer-11,Internet Explorer,Vbscript,Internet Explorer 11,我用两个脚本尝试了以下HTML页面: … 警报(“Javascript”); msgbox“Vbscript” 在Windows8.1预览版+InternetExplorer11上,JavaScript工作,VBScript不工作 在(Windows8+IE10)、(Windows7+IE9)上,这两个脚本工作正常 我在Internet Explorer 11中没有找到任何关于VBScript支持结束的信息,是吗?IE团队多年来一直在尝试退出VBScript 表示已从ExecScript A

我用两个脚本尝试了以下HTML页面:


…
警报(“Javascript”);
msgbox“Vbscript”
在Windows8.1预览版+InternetExplorer11上,JavaScript工作,VBScript不工作

在(Windows8+IE10)、(Windows7+IE9)上,这两个脚本工作正常


我在Internet Explorer 11中没有找到任何关于VBScript支持结束的信息,是吗?

IE团队多年来一直在尝试退出VBScript

表示已从ExecScript API中删除支持。说明它已从Internet区域的IE11边缘模式中删除

如果将以下内容添加到HEAD标记,则VBScript将运行:

<meta http-equiv="x-ua-compatible" content="IE=10">

这可能是微软努力使IE11看起来像标准浏览器的一部分

IE11删除(IE11尚不支持的实际特定功能检测除外)

这个想法是IE现在已经足够像一个标准的浏览器一样工作了,任何带有IE特殊情况的现有代码都不再适用


检查VBScript支持只是Microsoft想要阻止的过时检查之一。

实际上非常简单

只有IE 10及更早版本支持VBScript。不过,您可以轻松地将IE11上的兼容模式更改为IE10,并且它工作得非常好

我也有同样的问题:2004年使用ASP和VBScript开发了一个旧网站,下面的过程就是我的解决方案

要更改IE 11中的兼容性模式:

  • 按F12打开开发人员工具
  • 在左侧工具栏中向下滚动,直到看到“仿真”设置页面
  • 将文档模式从默认(“边缘”)更改为10
  • 享受你的VBScript

  • 事实上,我也遇到了同样的问题,并为自己找到了解决办法。我也尝试了EricLaw描述的方法,但对我来说不起作用。以下是我的发现:


    打开您的网站,转到
    工具-->兼容性视图设置
    ,然后单击
    添加
    (您所在的网站应自动显示在表单中),您应该能够看到结果。

    另一种可能的解决方案是使用HTA文件 我正在努力保存一个使用简单HTML界面的工具,以便在我们公司从IE8迁移到IE11的过程中幸存下来,经过大量调查,找到了这个简单的解决方案:将文件从file.HTML重命名为file.hta

    然后由仍然支持VBscript的Microsoft HTML应用程序主机打开

    缺点是并非所有CSS格式都受支持,但使用此解决方案非常容易

    尝试以下HTA代码:

    <html><head>
    <HTA:APPLICATION 
                ID              = "testHTA" 
                APPLICATIONNAME = "testHTA"
                VERSION         = "0.1"
                NAVIGABLE       = "yes"
                SHOWINTASKBAR   = "yes" 
                SINGLEINSTANCE  = "yes" 
                WINDOWSTATE     = "normal"
                BORDER          = "normal" 
                BORDERSTYLE     = "normal"
                INNERBORDER     = "no"    
                CAPTION         = "yes" 
                MINIMIZEBUTTON  = "yes"
                MAXIMIZEBUTTON  = "yes"
                SYSMENU         = "yes" 
                SCROLL          = "yes" 
                SCROLLFLAT      = "yes"    
                CONTEXTMENU     = "yes"
                SELECTION       = "yes"
            />
    </head>
      <script language="javascript" type="text/javascript">
          function MyJsAlert() {
            alert('Hello world!  Opening notepad now...');
          }
      </script>
    <script language="VBScript" type="text/vbscript">
    MyJsAlert() 'executes javascript
    ' Create a Windows Shell object
    set oShell = CreateObject("WScript.Shell")
    oShell.CurrentDirectory = "c:\CAMEO\webapps\"
    oShell.run("c:\windows\system32\notepad.exe")
    </script>
    </body></html>
    
    
    函数MyJsAlert(){
    警报(“你好,世界!现在打开记事本…”);
    }
    MyJsAlert()执行javascript
    '创建Windows Shell对象
    设置oShell=CreateObject(“WScript.Shell”)
    oShell.CurrentDirectory=“c:\CAMEO\webapps\”
    运行(“c:\windows\system32\notepad.exe”)
    

    将上述代码保存为HTA文件(即test.HTA),并在IE中启动。此代码混合了javascript和vbscript,并在IE 11中工作。

    这是唯一存在的方法,是否有其他方法在IE11中运行vbscript。@zaree:您还没有解释您感兴趣的原因。基于MSDN,将给定站点移动到非Internet区域也可以。在StackOverflow上,如果您有问题,请单击页面顶部的“提问”按钮。@called2voyage:您在哪个操作系统(以及确切的IE版本)上尝试过?@EricLaw Windows 7 Enterprise SP1,Internet Explorer 11.0.9600.18059不太可能,他们明确表示,他们在用户代理中加入了Trident,这样你就知道它的IE了-他们只是不想为旧版本的IE触发所有的解决方案。你们都是对的,因为我们正在推动开发人员将重点放在功能检测上,而不是浏览器嗅探上,特别是对于新版本的IE,在大多数情况下,您的代码应该可以正常工作。随着对UA字符串的更改,随着IE向基于标准的方向不断成熟,DXfilters和条件注释等其他功能也被弃用。这只是一个临时解决方案。它可以很好地工作,但是如果有一天你想使用一个与IE10不兼容的功能,它将不再工作。但这也是我用的!你用的是哪个版本的IE?我用的是IE 11。这是MS()的链接,但你知道,到处都有聪明人知道一些很酷的把戏。也许还有另一种方式可以四处走动。。。