Hvordan vise innhold i forhold til mobil eller pc?

Demilio

Medlem
Jeg lager en html-app for øyeblikket, men sliter litt med å finne ut hvordan jeg kan vise 1 innhold for de som har mobil og et annet innhold for de som har vanlig nettleser.

Noen som vet?

Noe i denne duren:
if mobile - redirecto to (http://www.geagag.....)
 

Demilio

Medlem
Jeg trenger kun et script som sender besøkende videre til en ny URL om det er mobil. Er det noe som har det?

FYI - Selve appen og resten av funksjonene både for iphone, ipad og andriod fungerer så d suser....
 

adeneo

Medlem
.htaccess
Kode:
<IfModule mod_rewrite.c>
    RewriteBase /
    RewriteEngine On

    # Sjekk om det ser ut til å være en mobil enhet
    RewriteCond %{HTTP:x-wap-profile} !^$ [OR]
    RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC,OR]
    RewriteCond %{HTTP:Profile}       !^$

    # Sjekk om vi allerede er på den mobile siden
    RewriteCond %{HTTP_HOST}          !^mobil\.
    
    # Videresend til mobil side
    RewriteRule ^ http://mobil.minside.no%{REQUEST_URI} [R,L]
</IfModule>

PHP
Kode:
<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$ipad = strpos($_SERVER['HTTP_USER_AGENT'],"iPad");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

// Sjekk om det ser ut til å være en mobil enhet
if ($iphone || $ipad || $android || $palmpre || $ipod || $berry == true) 
{ 
// Videresend til mobil side
header('Location: http://mobil.minside.no/');
// eller sett det inn i filen
echo "<script>window.location='http://mobil.minside.no'</script>";
}
?>

Ruby on Rails
Kode:
class ApplicationController < ActionController::Base
  helper :all
  protect_from_forgery
  layout :detect_browser

  private
  MOBILE_BROWSERS = ["android", "ipod", "opera mini", "blackberry", "palm","hiptop","avantgo","plucker", "xiino","blazer","elaine", "windows ce; ppc;", "windows ce; smartphone;","windows ce; iemobile", "up.browser","up.link","mmp","symbian","smartphone", "midp","wap","vodafone","o2","pocket","kindle", "mobile","pda","psp","treo"]

  def detect_browser
    agent = request.headers["HTTP_USER_AGENT"].downcase
    MOBILE_BROWSERS.each do |m|
      return "mobile_application" if agent.match(m)
    end
    return "application"
  end

//inkluderes i siden med:
<%= link_to "MOBIL SIDE", :controller => "home", :action => "set_layout", :mobile => "1" %>

Javascript
Kode:
<script type="text/javascript">// <![CDATA[  
// Sjekk om det ser ut til å være en mobil enhet
    var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));  
    if (mobile) {  
// Videresend til mobil side
        document.location = "http://mobil.minside.no";  
    }  
// ]]></script>
 
Sist redigert:

Pong

Jeg selger sʇɥƃıluʍop :)
.htaccess-måten er å foretrekke :)
Kan ikke ruby, men der ser det bra ut også.
Resten inneholder en ekstra gang til serveren.

Responsive design er greit og alt, men det er godt å kombinere dette server-side med noen is_mobile() funksjoner for å unngå å sende elementer til enheten som ikke hører hjemme der (og som kun blir skjult).
Jaja, det e någe med alt..
 
Topp