2010-12-16 46 views
1

我想在使用條件語句(就像使用IE的情況下)在網頁上向iPhone用戶專門顯示一些東西。檢測iPhone的條件語句

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

這似乎沒有隱藏自己從非iPhone用戶。任何人有任何建議?

+0

推薦閱讀:http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html還要注意的是iPhone,iPod的,和iPad都是移動Safari用戶的所有可能性。是否有一個原因,你不想使用條件CSS做到這一點? – 2010-12-16 19:54:34

+0

沒有理由 – Peachy 2010-12-16 20:08:07

+0

我不知道爲什麼我不這麼認爲,但它工作得很好。 – Peachy 2010-12-16 20:14:31

回答

0

OK,我最終通過科迪灰色的意見解決這個。

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> 

*編輯

我結束了在.NET和一個佔位符這樣做:

前端:

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

後面的代碼:

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

     } 
    } 
3

使用javascript或服務器端處理。

的.js:

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