Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   DHTML/JS/CSS (http://www.flasher.ru/forum/forumdisplay.php?f=24)
-   -   Картинка на странице (http://www.flasher.ru/forum/showthread.php?t=24813)

StimS 20.12.2001 02:02

Картинка на странице
 
Как реализовать на JAVASCRIPT вот это:
Есть две папки (f1 и f2), и десять файлов JPG (по пять в каждой).
И надо, что бы при указывании двух папраметров скрипту, он генерировал страницу с картинкой 4.jpg из папки f1
ПРИМЕР СТРОКИ: /main.js?folder=f1&pic=4

(я ещё новичек, так что пример будет кстати) :p

ERge 20.12.2001 13:05

в клиентский javascript так параметры передавать нельзя, может поконкретнее опишешь ситуацию...

StimS 20.12.2001 21:50

Вот есть две папки, и по 5 файлов в каждой (все эти вещи на сервере). Так же имеется один скрипт, при передаче которому двух параметров, он генерирует страницу с данной картинкой. В смысле скрипт (примерно) выглядит так
--- [main.js?folder=1&pic=4]:
< JAVASCRIPT, которому передаются данные >
< document.writeln('<HTML><TITLE>Картинка</TITLE><img src=papka' + folder + '/' + pic + '.jpg"></BODY></HTML>'); >
==== Видна страница с картинкой "4.jpg" из папки "papka1"
::::::::::::::::::::::::::::
или ещё можно так (скрипт просто генерирует картинку)
--- [main.htm?folder=2&pic=1]:
< нормальные теги веб-документа >
< JAVASCRIPT, которому передаются данные >
< document.write('<img src="papka' + folder +'/' + pic + '.jpg" alt="картинка">'); >
< завершающие теги >
==== Виден документ с картинкой "1.jpg" из папки "papka2"
::::::::::::::::::::::::::::
Какой должен быть скрипт ?????

nagash 21.12.2001 00:41

ява это просто дополнительные возможности хтмл...
ну не совсем так но вобщем...
чтобы отдать принять некие переменные и отдать их яве надо использовать что нить из PHP, Perl, ASP
м... проще всего пхп
:)

aleandr 21.12.2001 10:31

Держите ответ...
 
Господа nagash и ERge , вы все-таки наверное не правы!!!

Приведенный ниже скрипт является функцией, которая разбирает переданную строку /main.htm?folder=f1&pic=4 :

<script>
var arg=location.search.substring(1).split('&')
var variable=""
var i
for(i=0;i<arg.length;i++){
if(arg[i].split('=').length>1){
name=arg[i].split('=')[0]
variable=arg[i].split('=')[1]
alert(name+" - "+variable);
}
}
</script>

ЗЫ: авторское право на функцию не мое :cool:

ERge 21.12.2001 12:15

2aleandr: вот именно что разбирает строку /main.htm?folder=f1&pic=4 :
а не /main.js?folder=f1&pic=4
во втором случае подразумевается лишь одно использование:

<script src="/main.js?folder=f1&pic=4"></script>

но при таком обращении, folder и pic ни каким образом в JavaScript попасть не могут...

2StimS: параметры можно передавать при обращении к html страничке например так /main.htm?folder=f1&pic=4

тогда внутрь странички помещаешь такой скрипт:

Код:

<script>
arg=location.search.substring(1).split('&')
for(var i=0;i<arg.length;i++){
        if(arg[i].split('=').length>1){
                name=arg[i].split('=')[0]
                value=arg[i].split('=')[1]
                eval (name+"='"+value+"'")
        }
}

document.write('<img src="' + folder +'/' + pic + '.jpg">')
</script>

вот и все.

PS: для разбора передаваемых парметров использовал слегка модифицированный скрипт, приведенный aleandr'ом (не стал изобретать велосипед :) )

PPS: проверки на несуществование передаваемых параметров нет, поэтому если их не передавать, то будет JavaScript ошибка.

aleandr 21.12.2001 13:40

А зачем?
 
А я вот не совсем понимаю, ведь при вызове <script src="/main.js> скрипт включается в тело проги и тогда он может пользоваться переменными основной проги безо всякого... А какого тогда передавать переменные?
Или я ошибаюсь?

ERge 21.12.2001 13:56

Re: А зачем?
 
Цитата:

Оригинал написал(а) aleandr
А я вот не совсем понимаю, ведь при вызове <script src="/main.js> скрипт включается в тело проги и тогда он может пользоваться переменными основной проги безо всякого...
а что зачем?

скрипт включается в тело хтмльки и тогда он естественно может использовать глобальные переменные и функции скриптов которые в этой хтмльке или также включаются в нее...

Цитата:

Оригинал написал(а) aleandr
А какого тогда передавать переменные?
Или я ошибаюсь?

да ни какого, они таким способом вообще не передадутся...
просто StimS этого наверное не знал, да и он наверное думал вызывать что-то передавая ему определнные параметры, что генерило бы определенный хтмль по этим параметрам...

aleandr 21.12.2001 15:44

О'кей!!!
 
ERge: ну мы друг друга поняли... :)
Надеюсь и товарищчу StimS'у помогли... :D

ERge 21.12.2001 16:16

канешна :D


Часовой пояс GMT +4, время: 17:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.