Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   адресс скрипта (https://javascript.ru/forum/misc/21757-adress-skripta.html)

z700i 22.09.2011 20:07

адресс скрипта
 
Код:

http://www.xXx.yy/js/script.js?123
Что означает знак вопроса после расширения, для чего он служит и что за цифры после него пишут?

DjDiablo 22.09.2011 20:19

Передача параметра скрипту.
То есть переданное значение потом можно использовать внутри скрипта как хочешь

Если я правильно понимаю принцип. То в реальности нечего и не передаётся, тоесть скрипт ищет src, и достаёт содержимое после знака вопроса. А дальше юзает это как захочет. Впрочем может уже и специализированные методы для извлечения параметров появились, увы я не в курсе.

z700i 22.09.2011 20:33

  1. это значение может быть текстовым (string)?
  2. их может быть несколько (если да то как разделять)
  3. как его извлечь

DjDiablo 22.09.2011 20:41

Найди тег script с твоим скриптом
достань src
Извлеки инфу при помощи регулярных выражений, или командой split, или ещё какими нибудь строковыми функциями

melky 22.09.2011 20:48

это может быть текст ( и еще массив, см. json)

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

можно извлечь так, если скрипт подключается в секции head (или он вообще, синхронный)
// all scripts in the page
var a = document.getElementsByTagName('script');

// our current script
a = a[ a.length - 1 ];

// lol.ru/script.js?*!*a=b&c=d*/!*
a  = a.src.split('?')[1];

//arr->[ "a=b", "c=d" ]
a = a.split("&");

//iterate arr and get params.
  
     // iterator
var i=0,
     // result hash
     params = {},
     //cache variable
     b;
while( i<a.length ) {

     // arr -> [ "a","b" ]
     b = a[i].split("=");

    params[ b[0] ] = b[1];
}


params // { "a" : "b", "c" : "d"  }

z700i 22.09.2011 20:49

да спасибо)
я уже тоже полазил, почитал, нашел скрипт для извлечения:)


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