Подтвердить что ты не робот

Поддержка VBScript в Internet Explorer 11

Я пробовал следующую страницу HTML с двумя сценариями:

<html>
  …
  <body>
    <script type="text/javascript">
      alert ('Javascript');
    </script>
    <script type="text/vbscript">
      msgbox "Vbscript"
    </script>
  </body>
</html>

В предварительном просмотре Windows 8.1 + Internet Explorer 11 работал JavaScript, VBScript этого не делал.

Вкл (Windows 8 + IE10), (Windows 7 + IE9), оба скрипта работали.

Я не нашел никакой информации о конце поддержки VBScript в Internet Explorer 11, не так ли?

4b9b3361

Ответ 1

Команда IE пытается уйти в отставку VBScript годами.

http://msdn.microsoft.com/en-us/library/windows/apps/Hh700404.aspx указывает, что поддержка была удалена из API ExecScript. http://msdn.microsoft.com/en-us/library/ie/dn384057(v=vs.85).aspx объясняет, что он удален из режима IE11 Edge в зоне Интернета.

Если вы добавите следующее в свой тег HEAD, ваш VBScript будет запущен:

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

Ответ 2

На самом деле это очень просто.

Только IE 10 и старше поддерживают VBScript. Однако вы можете легко изменить режим совместимости с IE 11 на IE 10, и он отлично работает.

У меня была такая же проблема: старый веб-сайт, разработанный в 2004 году с использованием ASP и VBScript, и следующая процедура была для меня решением.

Чтобы изменить режим совместимости в IE 11:

  • Нажмите F12, чтобы открыть инструменты разработчика.
  • В левой панели инструментов прокрутите вниз до тех пор, пока вы не увидите страницу настроек "Эмуляция"
  • Измените режим документа по умолчанию ( "Край" ) на 10
  • Наслаждайтесь VBScript

Ответ 3

На самом деле у меня была одна и та же проблема, и я нашел решение для себя. Я также пробовал, как описал EricLaw, но это не сработало для меня. Вот что я нашел:

Откройте свой веб-сайт, перейдите к Tools --> Compatibility View Settings, а затем нажмите Add (веб-сайт, на котором вы находитесь, должен автоматически отображаться в форме), и вы сможете увидеть результат.

Ответ 4

Другим возможным решением является использование файлов HTA Я пытался сохранить инструмент, который использует простой интерфейс HTML, чтобы пережить нашу миграцию компании с IE8 на IE11, и после большого исследования было найдено это простое решение: переименуйте файлы из файла .html в file.hta​​p >

он затем открывается хостом приложения Microsoft HTML, который по-прежнему поддерживает VBscript.

Даунсайд - это то, что поддерживается не весь формат CSS, но очень просто использовать это решение

Ответ 5

Это, вероятно, часть усилий Microsoft, чтобы сделать IE11 похожим на стандартный браузер.

IE11 удаляет все существующие способы проверить, является ли он IE (кроме фактического обнаружения определенных функций, которые IE11 еще не поддерживает).

Идея заключается в том, что IE теперь работает достаточно, как стандартный браузер, который не должен применяться к существующему коду с особыми случаями для IE.

Проверка поддержки VBScript - это просто одна из тех устаревших проверок, которые Microsoft хочет предотвратить.

Ответ 6

Попробуйте этот код 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>

Сохраните указанный выше код как файл HTA (т.е. test.hta) и запустите в IE. Этот код смешивает javascript и vbscript и работает в IE 11.