Nu de puține ori s-a întâmplat să am nevoie, într-un fișier sursă JavaScript, de adresa/domeniul pe care se găsește script-ul pentru a înlocui diferite variabile: calea către o imagine, statistici, etc.
Prima opțiune de rezolvare a problemei este destul de simplă și presupune înlocuirea unei variabile JavaScript din PHP. De exemplu:
var _WWW_HOST = '<?=$_HOST?>';
Unde $_HOST este o variabilă generată din PHP pentru stabilirea host-ului. Dar, dacă fișierul js este static, și deci nu putem executa cod decât pe client, trebuie să apelăm la variabila window, mai exact la window.location.href. Codul de mai jos creează o variabilă globală, _WWW_HOST reprezentând adresa gazdei pe care rulează script-ul. De asemea, protocolul este extras separat, pentru a detecta dacă rulează sub HTTP sau HTTPS:
function get_document_protocol(){ var windaddr = window.location.href; var slashes = windaddr.indexOf('//'); var w_protocol = windaddr.substring(0, slashes); return w_protocol; } function get_host(){ var windaddr = window.location.href; var slashes = windaddr.indexOf('//'); var w_host = windaddr.substring(slashes+2); if(w_host.indexOf('/') > 0){ w_host = w_host.substring(0, w_host.indexOf('/')); } return w_host; } function get_abspath(relative_path){ var proto = get_document_protocol(); var host = get_host(); return proto + '//' + host + relative_path; } //the path to the current host as global var var _WWW_HOST = get_abspath('');
Funcția get_abspath() poate fi folosită și pentru a afla calea absoultă a unei resurse, trimițând ca parametru calea relativă.
Pentru a downloada scriptul dați click-dreapta și “Save link as…” .


Ceea ce a zis tu funcioneaza numai când se foloseste portul 80 dar pentru alte porturi ar fi frumos sa soliciti si portul
Nu prea cunosc pe nimeni să vrea să ruleze javascript pe alte protocoale decât http sau https… .
Dar dacă tu vrei, poți să-l modifici să facă și asta.