Autor Zpráva
xmhReq
Profil *
Dobry den,
mel bych dotaz, jak se da udelat toto:
http://steamcommunity-a.akamaihd.net/public/javascript/profile.js?v=VlurN3WUtO1S&l=czech - cesky
http://steamcommunity-a.akamaihd.net/public/javascript/profile.js?v=VlurN3WUtO1S&l=english - anglicky a stale to je jen jeden soubor.
Diky
Taurus
Profil
Pomocí klávesnice. Jaký je konkrétně problém?
Keeehi
Profil
xmhReq:
Ono jde hlavně o to, že to není tak obyčejný javascript. Vespod může být třeba pro jednoduchost profile.php které na základě proměnné v $_GET["l"] vypisuje různý obsah. To proč je v adrese js a ne php může být zase záležitostí mod_rewrite.

Stejného efektu se dá dosáhnout i jinými způsoby i jinými prostředky. A nebo se na podstrkávání úplně vykašlat a nechat koncovku php, nikde není psáno, že javascript musí mít koncovku js
Chamurappi
Profil
Reaguji na xmhReq:
stale to je jen jeden soubor
Není, server podstrkuje při požadavcích na různé adresy různou odpověď. Dělá se to třeba přes mod_rewrite.
JavaScript do toho samozřejmě nemluví, ten je jen výstupem toho serverového mechanismu.


Reaguji na Taura:
Řekl bych, že to jde pochopit.
Corwin
Profil
pokud chceš, aby na cílové url byl opravdu jenom javascriptový soubor, který bude brát v potaz parametry, docílit toho lze. ale není to úplně šikovné vždycky... občas toto ale sám použiju, takže zde je ukázka :

// get parametry pri volani skriptu
// main.js?arg=load
// getParams('main.js').arg                  
function getParams(a){
    var b = document.getElementsByTagName("script");
    for(var i = 0; i < b.length; i++){
        if(b[i].src.indexOf("/"+a) >-1 ){
            var c = b[i].src.split("?").pop().split("&"); 
            var p = {};
            for(var j = 0; j < c.length; j++){
                var d = c[j].split("=");
                p[d[0]] = d[1];
            }
            return p;
        }
    }
    return { };
}

do samotného JS souboru, volaného např. jmeno_souboru.js?lang=en&dalsi_parametr=neco pak dáš :

var params  = getParams('jmeno_souboru.js');
if(params.lang == 'en'){
    // neco
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0