Показать полную графическую версию : Помогите с JavaScript
Я хочу включить в свою страницу файлы с именами 1.js, 2.js и т.д.
В файлах находятся переменные, типа:
a="123";
b="456";
причем в каждом файле одинаковые переменные. Я хочу создать из них массив, типа ArrA[i]=a; - и таким образом заполнить его в цикле.
Не знаю, как это сделать.
Пробовал написать примерно так:
<script language=javascript>
for(.....
document.write("<sc"+"ript language=javascript src="+i+".js></sc"+"ript>");
ArrA[i]=a;
ArrB[i]=b;
...
и т.п.
</script>
Но проблема в том, что файлы с этими переменными не сразу включаются в мою страницу, а включаются только после строки </script>. Поэтому у меня не получается присваивать значения массиву.
Что же мне делать?
Ээээ....
<script language=JS src="<путь к файлу>">
вот так, должно получится....
не дописал:
а потом пишите еще раз script и делаете массив...
во только не понятно, зачем анцы с бубном? не сделать 1 файл?...
Xcode
Мне нужно подключать разные файлы, причем заранее неизвестное количество - сделать в одном файле не смогу.
Если можно, напишите поподробнее - мне надо в цикле перебирать эти имена и включать их. Напишите, пожалуйста, как это должно выглядеть вместе с циклом.
на самом деле с JS особо не дружу, но могу посоветовать использовать связку PHP + JS... PHP пишем JS подключения нужных файлов(томеж <script src...>)? а потом уже саму оброботку их...
(скорре всего ничего не понятно => нужно подождать ответа более компитентных людей)
Prisoner
29-08-2005, 10:23
Вы лучше в самих файлах, которые подключаете, сразу пишите массив значений. Причем массив ассоциативный лучше (так можно будет получить значение по имени переменной). А при подключении массив не нужно будет формировать.
Prisoner
Я бы не против, но у меня условие такое:
В файлах находятся переменные, типа:
a="123";
b="456";
причем в каждом файле одинаковые переменные.
Prisoner
29-08-2005, 19:42
Так... а почему в каждом включаемом файле не писать что-то вроде
arr = new Array();
arr['a'] = '123';
arr['b'] = '456';
arr['c'] = '789';
Будет происходить переопределение массива при каждом "инклуде"... наверное :)
Prisoner
Когда я делаю инклюды в цикле, то не могу при этом обрабатывать включенные массивы, т.к. все функции обработки выполняются только после включения всех файлов.
Вот мой главный файл:
<script language=javascript>
for(i=0;i<3;i++){
document.write("<sc"+"ript language=javascript src="+i+".js></sc"+"ript>");
}
for(i=0;i<3;i++){
document.write(Arr[ i]+","); // Эта строчка ничего не выводит.
}
</script> // После этой строки включаются все файлы. При этом остаются значения из последнего файла.
<script language=javascript>
for(i=0;i<3;i++){
document.write(Arr[ i]+","); // Эта строчка выводит массив в виде: undefined,undefined,789,
}
</script>
Подскажите, как мне написать цикл, чтобы я мог обрабатывать каждый файл сразу после его включения.
Prisoner
30-08-2005, 10:40
Лично я бы сделал всего один инклюд некого js-файла (something.js) который являлся бы простым php-скриптом и генерил валидный js-код массива... это самое, имхо, рациональное решение при наличии php на хосте. Остальное - от лукавого, будем пробовать?
Prisoner
Хост не мой. php там запрещено. :-(
Prisoner
31-08-2005, 09:41
Включаемые js-файлы полностью под твоим контролем?
Prisoner
Да, но есть некоторые соображения, чтобы они были с одинаковыми переменными.
Prisoner
01-09-2005, 09:52
Можно сделать один включаемый js-файл и уже в нем решать какие переменные и чем означивать и сразу массивом причем делать это. А еще советую почитать тему по хостингу этого форума и найти хостинг занахаляву, но с php, есть такие...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.