2010-12-16 8 views
1

Ich versuche, etwas spezifisch zu iPhone Benutzern auf einer Webseite anzuzeigen, die bedingte Anweisungen verwendet (wie Sie mit IE) würden.Bedingte Anweisung zum Erkennen von iPhone

<!--#if expr="(${HTTP_USER_AGENT} = /iPhone/)"--> 
Hello 
<!--#endif --> 

Dies scheint sich nicht von Nicht-iPhone-Nutzern zu verstecken. Hat jemand Vorschläge?

+0

Empfohlene Lektüre: http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html Beachten Sie auch, dass das iPhone, iPod, und iPad sind * alle * Möglichkeiten für Mobile Safari Benutzer. Gibt es einen Grund, warum Sie dies nicht mit bedingten CSS tun möchten? –

+0

Kein Grund – Peachy

+0

Ich bin nicht sicher, warum ich nicht dachte, wenn das, aber es hat gut funktioniert. – Peachy

Antwort

0

OK, beendete ich diese Beratung ist über Cody Grau Lösung auf.

CSS:

<!--#if expr="(${HTTP_USER_AGENT} = /iPhone/)"--> 
<style type="text/css"> 
<!-- 
.iPhone {visibility:visible;} 
--> 
</style> 
<!--#else --> 
<style type="text/css"> 
<!-- 
.iPhone {visibility:hidden} 
--> 
</style> 
<!--#endif --> 

HTML

<div class="iPhone"> 
Hi 
</div> 

* Edit

landete ich tun dies in .net und Platzhalter:

Frontend:

<asp:PlaceHolder ID="myPlaceHolder" runat="server"> 
hi 
</asp:PlaceHolder> 

-Code hinter:

String userAgent; 
     userAgent = Request.UserAgent; 
     if (userAgent.IndexOf("iphone") > -1) 
     { 
      myPlaceHolder.Visible = true; 
     } 
     else 
     { 
      myPlaceHolder.Visible = false; 

     } 
    } 
3

Verwenden Sie Javascript oder serverseitige Verarbeitung.

Js:

if (navigator.userAgent.indexOf('iPhone') > -1) 
    document.getElementById('iphoneMessage').style.visibility = 'visible';