Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных через src 
:(
    Опции темы
Dima85
Дата 20.9.2010, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Возможно ли переменные указывать в src javascript таким образом?
Код

<script type="text/javascript" src="/api.js?test=10"></script>


Если да, как ее получить в теле api.js?
PM MAIL   Вверх
magelan
Дата 20.9.2010, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



указать можно, получить - нельзя.

обычно делают так:
Код

<script type="text/javascript" src="/api_j.php?test=10"></script>

а в скрипте пхп делают вставку, которая вытаскивает кверистринг и записывает ее в виде js выражения. пхп - не панацея, может быть использован любой серверный язык.
PM MAIL   Вверх
Amphiluke
Дата 20.9.2010, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Почему же нельзя?

Если вставить в api.js такие строчки…  smile 
Код

var scr = document.getElementsByTagName("script");
var re = /\bapi\.js(.*)/i;
for (var i = 0; i < scr.length; i++) {
    if (re.exec(scr[i].src))
        alert(RegExp.$1);
}

PM   Вверх
magelan
Дата 21.9.2010, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



Зло.

Что будем делать в таком случае?
Код

<script type="text/javascript" src="/api.js?test=10"></script>
...
<script type="text/javascript" src="/api.js?test=20"></script>


PM MAIL   Вверх
Amphiluke
Дата 21.9.2010, 08:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Да оно понятно, что зло. Я говорил лишь о принципиальной возможности «методом изощрений». 

Цитата(magelan @  21.9.2010,  05:32 Найти цитируемый пост)
Что будем делать в таком случае?

Эээ… Раз вы сами спросили (заметьте), то вот усовершенствованное зло.  smile 
Код

apiInstance = (typeof apiInstance == "undefined") ? 1 : apiInstance + 1;
(function() {
    var counter = 1;
    var scr = document.getElementsByTagName("script");
    var re = /\bapi\.js(.*)/i;
    for (var i = 0; i < scr.length; i++) {
        if (re.exec(scr[i].src)) {
            if (counter == apiInstance) {
                alert(RegExp.$1);
                break;
            } else {
                counter++;
            }
        }
    }
})();

 smile  smile 

PM   Вверх
Dima85
Дата 7.10.2010, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Почему зло? Будет тормозить браузер?
PM MAIL   Вверх
Amphiluke
Дата 7.10.2010, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Цитата(Dima85 @  7.10.2010,  18:01 Найти цитируемый пост)
Почему зло?

Потому что по-настоящему качественный код должен быть переносимым и прозрачным, а это типа «хак». smile
PM   Вверх
magelan
Дата 7.10.2010, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 3
Всего: 16



 smile это не просто хак, это злой хак...

я назвал это злом, потому что параметры скрипт получает не внутри js, а уже снаружи
т.е. некий арбитр, который сверху разбирает аварию из 10 машин, хотя сам в ней не участвует
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1669 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.