Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переменная в строке src (https://javascript.ru/forum/misc/15222-peremennaya-v-stroke-src.html)

allforweb 17.02.2011 23:00

Переменная в строке src
 
Скажите можно ли вставить в такую строку переменную:
<script type="text/javascript" src="http://site.ru/show.php?id=1&items=переменная"></script>

и если можно то каким образом?

dmitriymar 17.02.2011 23:17

var i=10;
var adres="http://site.ru/show.php?id=1&items="+i;
alert (adres);

<script type="text/javascript" src=adres></script>

allforweb 17.02.2011 23:21

уточню вопрос:
после items=переменная у меня идет еще одна переменная
items=переменная&more=еще одна переменная.

dmitriymar 17.02.2011 23:27

var i=10,j=20;
var adres="http://site.ru/show.php?id=1&items="+i+"&more="+j;
alert (adres);

Цитата:

Сообщение от allforweb
уточню вопрос:
после items=переменная у меня идет еще одна переменная
items=переменная&more=еще одна переменная.

ну и к чему это?ответ был дан на заданный вопрос. причём уточнение если об этом ни слова в изначальном?
да только боюсь что ваша затея вам ничего не даст. эта конструкция работать не будет при попытке динамически изменить данные в ппроцесе работы приложения(при его загрузке сработает) поскольку
<script type="text/javascript" src=adres></script> по любому должна быть ещё обрамлена тегами <script>
а такая конструкция работать не будет. есть вариант как сделать по другому

allforweb 17.02.2011 23:34

Цитата:

Сообщение от dmitriymar (Сообщение 92980)
var i=10,j=20;
var adres="http://site.ru/show.php?id=1&items="+i+"&more="+j;
alert (adres);


ну и к чему это?ответ был дан на заданный вопрос. причём уточнение если об этом ни слова в изначальном?

при том что я пробовал так и этот код не срабатывает. причем в разных вариациях.

dmitriymar 17.02.2011 23:37

посмотри на пост выше. и я одно не понимаю
насколько я знаю <script type="text/javascript" src=adres></script>
это подключение внешнего javascript скрипта. почему ты через него пытаешься подключить рнр страницу?

allforweb 17.02.2011 23:50

Цитата:

Сообщение от dmitriymar (Сообщение 92983)
посмотри на пост выше. и я одно не понимаю
насколько я знаю <script type="text/javascript" src=adres></script>
это подключение внешнего javascript скрипта. почему ты через него пытаешься подключить рнр страницу?

я посмотрел на пост выше и ничего у меня не получилось. задача подключить страницу с определенными параметрами, для чего нужно подключить переменные в строку. но проблема в том, что у меня или ошибка или просто текст вместо переменной и в алерт и документ.райт все нормально, проблем только в этой конструкции
<script type="text/javascript">
	var items = 3;//переменная
        var width = 90;//еще одна переменная
        var d = h;// и еще одна
	</script>
	<script type="text/javascript" 
	src="http://site.ru/show.php?id=1&items=5&width=90&d=h"></script>

пробовал вот такие строки, но они не срабатывают:
src="http://site.ru/show.php?id=1&items="+items+"&width=90&d=h
src="http://site.ru/show.php?id=1&items=\""+items+\""&width=90&d=h
src="http://site.ru/show.php?id=1&items=""+items+""&width=90&d=h
менял слеши и кавычки с апострофами, но результата нет. поэтому решил узнать - возможна ли вообще такая операция.

dmitriymar 17.02.2011 23:59

Цитата:

Сообщение от allforweb
src="http://site.ru/show.php

ещё раз
Цитата:

Сообщение от dmitriymar
<script type="text/javascript" src=adres></script>
это подключение внешнего javascript скрипта. почему ты через него пытаешься подключить рнр страницу?


allforweb 18.02.2011 00:07

Цитата:

Сообщение от dmitriymar (Сообщение 92987)
ещё раз

а какая разница что подключать? это имеет значение разве? этот код у меня работает, я только не могу там динамически менять переменные

dmitriymar 18.02.2011 00:10

Цитата:

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

Цитата:

Сообщение от allforweb
<script type="text/javascript">
var items = 3;//переменная
var width = 90;//еще одна переменная
var d = h;// и еще одна
</script>
<script type="text/javascript"
src="http://site.ru/show.php?id=1&items=5&width=90&d=h"></script>

область видимости что нибудь говорит? переменные инициализируй в хеаде.

allforweb 18.02.2011 00:16

Цитата:

Сообщение от dmitriymar (Сообщение 92989)
область видимости что нибудь говорит? переменные инициализируй в хеаде.

нет, не видит строка переменную и все.

dmitriymar 18.02.2011 00:23

<body>
<script>
var i=10,j=20;
var adres="http://site.ru/show.php?id=1&items="+i+"&more="+j;
</script>
<script>
alert (adres);
</script>
<script type="text/javascript" src=adres></script>
</body>

allforweb 18.02.2011 00:27

Цитата:

Сообщение от dmitriymar (Сообщение 92992)
почему ей её видить если они разным блокам принадлежат?
чтобы она была во всех блоках объяви переменные между
<head> и </head>

сделал уже и так, не помогает все-равно. как только в src меняется число на переменную - скрипт не срабатывает.

dmitriymar 18.02.2011 00:32

Цитата:

Сообщение от allforweb
сделал уже и так, не помогает все-равно. как только в src меняется число на переменную - скрипт не срабатывает.

дело в том что в гет запросе не используются числовой тип.все данные в строке запроса-имеют строчный тип.
если адрес меняется динамически то подключение выглядит так
в хеде предопределение подключаемого
<script id="dinamik" type="text/javascript" ></script>

изменение адреса и подключение
document.getElementById(' dinamik').src='адрес скрипта';

да и при гет запросе данные передаваемые нужно шифровать через escape();

SunTechnique 30.07.2012 09:10

Короче говоря я искал в гугле и забрел сюда. и понял что парень хотел сделать по аналогии с PHP: $new_variable = sprintf(format,variable)

и мне то как раз тоже нужен аналог sprintf, только для JavaScript.

в C# делается вроде так:
variable = "Hello {0}";
new_variable = string.format(variable,"World");
и переменная new_variable начинает содержать "Hello World"

если кто знает как такое же делается в JS отпишите плиз.

Но похоже в JS такого нет.

vadim5june 30.07.2012 09:35

удалил-пост старый

lord2kim 30.07.2012 09:51

SunTechnique, аналог php функции sprintf

devote 30.07.2012 11:39

<script type="text/javascript">
   var items = 3;//переменная
   var width = 90;//еще одна переменная
   var d = h;// и еще одна
   document.write('<script type="text/javascript" src="http://site.ru/show.php?id=1&items='+items+'&width='+width+'&d='+d+'"></script>');
</script>


Часовой пояс GMT +3, время: 15:19.