Меня попросили «прослушать» имя пользователя Windows с помощью фрагмента vbscript, и у меня возникли проблемы с его настройкой в приложении «Гобелен» (5.1.0.5).
Кажется, гобелен пытаетсяинтерпретировать vbscript как javascript и, следовательно, потерпеть неудачу.
Фрагмент vbscript (ниже) встроен в компонент, который, в свою очередь, условно загружается в зону как часть мультизонального обновления.
pseudo tml:
<page>
<t:zone>
<t:if>
<t:mycomponent>
<vbscript />
vbscript:
<script type="text/vbscript" language="vbscript">
Dim shell
set shell = createobject("wscript.shell")
set env = shell.environment("process")
set field = document.getElementById("windowsLoginField")
if field is nothing then
alert("no field")
else
field.value = env("username")
end if
</script>
Я знаю, что это должно работать только для IE, однако другие браузеры должны работать корректно (не запускать скрипт).
Когда зона перезагружается в состоянии, когда vbscript должен быть обработан, я получаю следующую ошибку в firebug:
missing ; before statement
Dim shell
Это потому, что скрипт проверяется prototypejs:
evalScripts: function() {
return this.extractScripts().map(function(script) { return eval(script) });
},
Кто-нибудь знает способ избежать прототипа, оценивающего этот сценарий, чтобы он мог выполнить его и выполнить как vbscript?
Я заметил, что @Includ не существуетeVbScriptLibrary аннотация ...
спасибо, стр.