Stránka 1 z 2

Přesměrování na mobilní web

Napsal: 09 led 2014 13:36
od Fidik
Zdravim,

vygooglil jsem si tento script

Kód: Vybrat vše

<script>
var isMobile = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry)/);
 
if(isMobile) {
window.location = "http://m.web.sk";
}
</script>


Vložil jsem ho do klasické verze webu a při přístupu z výše bezvadně funguje na přesměrování na mobilní web. Teď potřebuju vyřešit odkaz zpět na klasický web. Jde odkazovat na stránku, kde se již nachází tento skript tak, aby se znovu nenačetl a s ním i mobilní web, nebo musím odkazovat na stránku bez skriptu? Ještě mě napadlo dát do kořenového indexu jen skript, který přesměruje buď na mobilní nebo klasickou, ale programování moc neholduju a nevím, jak ten skript přepsat.

Díky za rady a trpělivost :)

Re: Přesměrování na mobilní web

Napsal: 09 led 2014 13:41
od jerabina
Nejsem si jistý, jak to myslíš, ale co udělat dole např. odkaz na klasickou verzi? Že tě to přesměruje na normální adresu http://web.sk/ jak to tam máš.

Re: Přesměrování na mobilní web

Napsal: 11 led 2014 11:41
od Fidik
No, dojdeš na web.sk, kde je skript, kterej tě přesměruje na mobilní, pokud jsi na mobilu. V té mobilní verzi je dole odkaz na klasickej web - respektive na web.sk, klikneš na něj a znovu se ti spustí skript, kterej tě přesměruje na mobilní, pokud jsi na mobilu :D začarovanej kruh.

Takže:
klasickej se skriptem > mobilní s odkazem na klasickej se skriptem > klasickej se skriptem > mobilní..... :D

a mě napadlo:
index se skriptem odkazujícím buď na jeden nebo na druhej
> klasickej bez skriptu
> mobilní s odkazem na klasickej bez skriptu

čili asi dát do toho skriptu ještě další proměnou, která když bude platit, odkáže to na klasickej web, ale na to jsem lama :P

Re: Přesměrování na mobilní web

Napsal: 11 led 2014 11:47
od jerabina
A musí to být automaticky? Že by se ti to při prvním přístupu na web zeptalo, jestli chceš klasický nebo mobilní, ty zvolíš a pak si to můžeš v pohodě přepnout.

Re: Přesměrování na mobilní web

Napsal: 11 led 2014 13:53
od CZechBoY
http://mobiledetect.net
google asi nefunguje či?

Re: Přesměrování na mobilní web

Napsal: 11 led 2014 14:12
od LuCaCZ
dalo by se i přes JS .... přidal bych podmínku jestliže návštěvník přišel z mobilní verze - adresy, tak by se dál zpátky nepřesměrovávalo .. současně by se nastavila cookie, že se i nadále nemá přesměrovávat

Re: Přesměrování na mobilní web

Napsal: 11 led 2014 23:43
od Fidik
momentálně tam mám dva odkazy, ať si návštěvník vybere, ale automaticky to je víc cool :D řešení ala lucacz mě napadlo, jenže to nenapíšu. založil jsem tento thread s tím, že se nějakej hodnej programátor podělí přímo o kod, co už má třeba v šuplíku :P a google funguje, ale na hostingu nemám php :/ něco jsem pročetl, ale co chci, jsem nenašel.

Re: Přesměrování na mobilní web

Napsal: 11 led 2014 23:55
od rhsCZ
dejme tomu budeš mít na web.sk index.php
bude to prázdná stránka ve který bude jen ten skript
který by potřeboval nějak upravit který bude zjišťovat jestly je to pc nebo mobil
pokud by to bylo pc tak třeba by to přesměrovalo na www.web.sk/index2.php
pokud mobil tak teday na m.web.sk/index.php
pokud budeš chtít na pc verzi webu tak by nebyl odkaz na www.web.sk/index.php
ale na web.sk/index2.php

nabídl jsem ti nejlepší řešení jen je tady problem s tou upravou skriptu boužel neovladam javascript

Re: Přesměrování na mobilní web

Napsal: 12 led 2014 03:10
od LuCaCZ
snad to nebude nějaká blbost ... :crazy:

Kód: Vybrat vše

<script>

//funkce pro zjištění cookie
function getCookie(cname) {
  var name = cname + "=";
  var ca = document.cookie.split(';');
  for(var i=0; i<ca.length; i++) {
    var c = ca[i].trim();
    if (c.indexOf(name)==0) return c.substring(name.length,c.length);
  }
  return "";
}

//funkce pro nastavení cookie
function setCookie(cname,cvalue,exdays) {
  var d = new Date();
  d.setTime(d.getTime()+(exdays*24*60*60*1000));
  var expires = "expires="+d.toGMTString();
  document.cookie = cname + "=" + cvalue + "; " + expires;
}


var isMobile = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry)/);
if(isMobile) {                                          // pokud je to mobil tak
  if (getCookie('mobile')!='no') {                      // pokud NENÍ cookie
    var ref = document.referrer;
    if (ref.match(/^https?:\/\/m\.web\.sk(\/|$)/i)) {   // přišel z mobilní verze ?
      setCookie('mobile','no',3);                       // ano = nastav cookie na NEpřesměrování (platnost 3 dny)
   } else {
     window.location = "http://m.web.sk";               // ne = přesměruj na mobilní verzi
    }
  }
}


</script>

Re: Přesměrování na mobilní web

Napsal: 12 led 2014 12:19
od Fidik
zkoušel jsem to na Opera Mobile Classic Emulator s povoleným cookies a nefunguje to, furt to vrací na mobiní web

ale přepsal jsem tam tohle: doufám, že je tam správně napsaný http://www.irnis.cz/mobilniweb.html , páč z těch lomítek mi jde hlava kolem :D

Kód: Vybrat vše

if (ref.match(/^http?:\/\/www\.irnis\.cz\/mobilniweb\.html(\/|$)/i)) {   // přišel z mobilní verze ?


jinak viz http://irnis.cz/presmerovani.html

a díky moc za snahu, třeba se k tomu dopracujem :)

Re: Přesměrování na mobilní web

Napsal: 13 led 2014 02:56
od LuCaCZ
chyba bude nejspíš právě v tom regexp... zkus

Kód: Vybrat vše

if (ref.match(/^mobilniweb\.html(\/|$)/i)) {


emulátor mi taky nějak zlobí, ale na mobilu se to zdá OK .. viz příloha

Re: Přesměrování na mobilní web  Vyřešeno

Napsal: 13 led 2014 20:22
od domitea
A co se na speciální mobilní web vykašlat a udělat speciální CSS pro desktopy a speciální pro mobily ?