Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Berg
Зарегистрирован: 28.03.2005 Сообщения: 2
|
Добавлено: Пн Мар 28 2005 12:02 Заголовок сообщения: передача значений из VBScript в JavaScript |
|
|
НЕ ДЕТСКИЙ ВОПРОС !!!
Как передать двумерный массив из VBScript в JavaScript ???
Все массивы в JavaScript представляют собой объекты - в этом и суть проблемы...
Писать исходник не надо - просто предложите идею...
Были идеи:
1) создать объект JavaArray и передать его как объект - но пока
это не реально...
2) собрать объект на стороне VBScript'a и передать его
снова как объект - но собрать объект циклом тоже не совсем
реально (много операций & в результате чего тормозит все
не по детски)
===
res = "class myClass dim length: "
for i = LBound(data) to UBound(data)
res = res & "dim P" & i & ": "
next
execRes = execScript(res & "dim length: end class",VBScript)
myClass.length = UBound(data) + 1
===
3) вызвать функцию JavaScroipt из VBScript и передать ей
в качестве параметров наш массив поэлементно
а затем через arguments на стороне JavaScript'a
выщемить все параметры которые уже представлены
в виде массива, но собрать функцию у которой
будет например 6000 аргументов тоже не реально
4) сформировать массив на стороне JavaScript
а затем "заставить" VBScript функцию обратиться к
этому массиву как к объекту - более реальный способ
5) использовать объект dictionary как стек - может
один из наиболее перспективных
...
если есть более умные идеи, то напишите пожалуйста |
|
Вернуться к началу |
|
|
Berg
Зарегистрирован: 28.03.2005 Сообщения: 2
|
Добавлено: Пн Мар 28 2005 12:39 Заголовок сообщения: |
|
|
Нашел боле привлекательное решение
Код: | <html>
<script language=JavaScript> <!--
var stack=[];
function js_main(){
for(var i=0;i<stack.length;i++) alert(stack[i])}
-->
</script>
<script language=VBScript> <!--
sub vs_main()
stack.length=0
for i = 1 to 5
stack.push(i)
next
js_main()
end sub
-->
</script>
<body onLoad=vs_main()>
</body>
</html> |
|
|
Вернуться к началу |
|
|
|