Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa javascript-om i php-om

[es] :: PHP :: Problem sa javascript-om i php-om

[ Pregleda: 1410 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dragan.pavlicevic
Dragan123
Beograd

Član broj: 300447
Poruke: 9



Profil

icon Problem sa javascript-om i php-om07.03.2012. u 13:30 - pre 147 meseci
Koristim javascript da bi odredio koji odredjuje koji browser koristi korisnik i to mi ok radi. Hteo bi da na osnovu toga odredim koji ce se css koristiti u zavisnosti od browser-a. Palo mi je napamet da za to koristim php, ali mi tu nesto ne stima...

evo i koda:

Code:
<script type="text/javascript">
<!--
var BrowserDetect = {
    init: function () {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
            || this.searchVersion(navigator.appVersion)
            || "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function (data) {
        for (var i=0;i<data.length;i++)    {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function (dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
    },
    dataBrowser: [
        {
            string: navigator.userAgent,
            subString: "Chrome",
            identity: "Chrome"
        },
        {     string: navigator.userAgent,
            subString: "OmniWeb",
            versionSearch: "OmniWeb/",
            identity: "OmniWeb"
        },
        {
            string: navigator.vendor,
            subString: "Apple",
            identity: "Safari",
            versionSearch: "Version"
        },
        {
            prop: window.opera,
            identity: "Opera",
            versionSearch: "Version"
        },
        {
            string: navigator.vendor,
            subString: "iCab",
            identity: "iCab"
        },
        {
            string: navigator.vendor,
            subString: "KDE",
            identity: "Konqueror"
        },
        {
            string: navigator.userAgent,
            subString: "Firefox",
            identity: "Firefox"
        },
        {
            string: navigator.vendor,
            subString: "Camino",
            identity: "Camino"
        },
        {        // for newer Netscapes (6+)
            string: navigator.userAgent,
            subString: "Netscape",
            identity: "Netscape"
        },
        {
            string: navigator.userAgent,
            subString: "MSIE",
            identity: "Explorer",
            versionSearch: "MSIE"
        },
        {
            string: navigator.userAgent,
            subString: "Gecko",
            identity: "Mozilla",
            versionSearch: "rv"
        },
        {         // for older Netscapes (4-)
            string: navigator.userAgent,
            subString: "Mozilla",
            identity: "Netscape",
            versionSearch: "Mozilla"
        }
    ],
    dataOS : [
        {
            string: navigator.platform,
            subString: "Win",
            identity: "Windows"
        },
        {
            string: navigator.platform,
            subString: "Mac",
            identity: "Mac"
        },
        {
               string: navigator.userAgent,
               subString: "iPhone",
               identity: "iPhone/iPod"
        },
        {
            string: navigator.platform,
            subString: "Linux",
            identity: "Linux"
        }
    ]

};
BrowserDetect.init();

// -->
</script>

<?php $browse = "<script type=\"text/javascript\">
<!--
document.write(BrowserDetect.browser);
// -->
</script>";

echo $browse; //radi testa sam stavio ovo i dobijam rezultat

if ($browse == "Opera") echo "ovo je opera";
    
if ($browse == "Firefox") echo "ovo je firefox";
?>


medjutim 'if' ovde ne radi iz nekog razloga...
 
Odgovor na temu

mlbrnda
Mladen Brndušić
Požarevac

Član broj: 114221
Poruke: 56
..9-207.static.isp.telekom.rs.



+7 Profil

icon Re: Problem sa javascript-om i php-om07.03.2012. u 13:47 - pre 147 meseci
Izgleda da si malo pobrkao lončiće. PHP se izvršava na serveru, a Javascipt na klijentu. To znači da je ovih nekoliko redova koje si napisao u PHP-u već izvršeno a tek kasnije kada skripta dođe do klijenta počinje da se izvršava Javascript odnosno detekcija browswera...
 
Odgovor na temu

dragan.pavlicevic
Dragan123
Beograd

Član broj: 300447
Poruke: 9



Profil

icon Re: Problem sa javascript-om i php-om07.03.2012. u 13:51 - pre 147 meseci
ok, to razumem... ali ako je tako kao sto ti kazes

onda
Code:
echo $browser;
ne bi vratio nikakav rezultat, zar ne?
ja dobijam rezultat, ali taj rezultat ne mogu da koristim iz nekog razloga...
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.13.34.95.customer.cdi.no.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Problem sa javascript-om i php-om07.03.2012. u 14:00 - pre 147 meseci
Kazes da razumes ali ne deluje tako
Code:

echo $browse; //radi testa sam stavio ovo i dobijam rezultat

sta dobijes kao rezultat, ovaj string:
Code:

<script type=\"text/javascript\">
<!--
document.write(BrowserDetect.browser);
// -->
</script>

i odmah liniju ispod toga poredis dali ovaj string je jednak sa "Opera" ?
Naravno da nije jednak, jer string "Opera" nije jednak sto i "<script type=\"text/javascript\"><!--document.write(BrowserDetect.browser);// --></script>"

To sto ti posle u browseru vidis koji je browser nije isto kao i ono sto server vidi.
Uradi

echo "<pre>";
var_dump($browse);
echo "</pre>";
ili
echo "<pre>";
print_r($browse);
echo "</pre>";

da vidis isto sto i browser



I definitivno je tacno tako kak Mladen kaze
 
Odgovor na temu

dragan.pavlicevic
Dragan123
Beograd

Član broj: 300447
Poruke: 9



Profil

icon Re: Problem sa javascript-om i php-om07.03.2012. u 14:14 - pre 147 meseci
ok, bez ljutnje... nisam hteo nikog da uvredim.

ocigledno ne razumem, nov sam u ovome, a to nisam naglasio. Tako da se izvinjavam

Da preformulisem onda, kako da iskoristim code koji imam u js-u i da manipulisem dobijenim razultatom. Da li je uopste moguce to sa php-om ili moze iz js-a sve da se odradi?

hvala.
 
Odgovor na temu

mlbrnda
Mladen Brndušić
Požarevac

Član broj: 114221
Poruke: 56
..9-207.static.isp.telekom.rs.



+7 Profil

icon Re: Problem sa javascript-om i php-om07.03.2012. u 14:17 - pre 147 meseci
Za ovo što ti želiš morao bi malo da promeniš pristup... Ili odradi detekciju browser-a u PHP-u pa onda ispisuj šta želiš, ili to isto sa javscriptom, kao što si počeo.
U svakom slučaju moraš da shvatiš da sve ono što napišeš u PHP-u je već izvršeno na serveru, a kasnije na scenu stupa klijentski deo recimo javascript.

Pošto si već počeo da radiš u javascriptu možda je bolje da tako i nastaviš...
 
Odgovor na temu

[es] :: PHP :: Problem sa javascript-om i php-om

[ Pregleda: 1410 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.