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

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Fidik
Level 1.5
Level 1.5
Příspěvky: 106
Registrován: 08 dub 2010 20:17

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

Příspěvek 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 :)
Uživatelský avatar
jerabina
člen Security týmu
Příspěvky: 3647
Registrován: 16 bře 2013 15:08
Bydliště: Litoměřice

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

Příspěvek 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áš.
Když nevíš jak dál, přichází na řadu prostudovat manuál!
HJT návod

Pokud neodpovídám do vašich témat v sekci HJT když jsem online, tak je to jen proto, že jsem na mobilu kde je studování logů a psaní skriptů nemožné. Neberte to tedy prosím jako ignoraci.
Fidik
Level 1.5
Level 1.5
Příspěvky: 106
Registrován: 08 dub 2010 20:17

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

Příspěvek 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
Uživatelský avatar
jerabina
člen Security týmu
Příspěvky: 3647
Registrován: 16 bře 2013 15:08
Bydliště: Litoměřice

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

Příspěvek 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.
Když nevíš jak dál, přichází na řadu prostudovat manuál!
HJT návod

Pokud neodpovídám do vašich témat v sekci HJT když jsem online, tak je to jen proto, že jsem na mobilu kde je studování logů a psaní skriptů nemožné. Neberte to tedy prosím jako ignoraci.
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

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

Příspěvek od CZechBoY »

http://mobiledetect.net
google asi nefunguje či?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
LuCaCZ
Level 3.5
Level 3.5
Příspěvky: 929
Registrován: 21 bře 2011 00:02

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

Příspěvek 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
Fidik
Level 1.5
Level 1.5
Příspěvky: 106
Registrován: 08 dub 2010 20:17

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

Příspěvek 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.
Uživatelský avatar
rhsCZ
Level 4
Level 4
Příspěvky: 1397
Registrován: 02 čer 2013 12:03
Kontaktovat uživatele:

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

Příspěvek 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

„Zeptáš-li se, budeš 5 minut vypadat jako blbec. Nezeptáš-li se, budeš blbcem po celý život.“
„Mnozí z těch, co žijí, by zasluhovali smrt. A mnozí z těch, co zemřeli, by si zasloužili žít.“ - John Ronald Reuel Tolkien
„Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.“ - Kurt Cobain
https://rhscz.eu
https://github.com/rhsCZ
Uživatelský avatar
LuCaCZ
Level 3.5
Level 3.5
Příspěvky: 929
Registrován: 21 bře 2011 00:02

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

Příspěvek 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>
Fidik
Level 1.5
Level 1.5
Příspěvky: 106
Registrován: 08 dub 2010 20:17

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

Příspěvek 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 :)
Uživatelský avatar
LuCaCZ
Level 3.5
Level 3.5
Příspěvky: 929
Registrován: 21 bře 2011 00:02

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

Příspěvek 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
Přílohy
mobil.zip
(1.55 KiB) Staženo 53 x
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

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

Příspěvek 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 ?
Zamčeno
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na „Programování a tvorba webu“