2011-09-28 78 views
2

我想添加功能的規則集,根據瀏覽器是否移動或不移動引發一個獨特的規則。 (一個規則觸發一個標準瀏覽器,另一個規則觸發一個移動瀏覽器)我知道瀏覽器檢測可以通過多種方式完成,但我的第一個傾向是使用javascript。將移動瀏覽器檢測,規則選擇添加到規則集

有關如何從這開始的任何想法?

回答

1

可以使用useragent object,就像這樣:

rule detect_agent { 
    select when pageview ".*" 
    pre { 
     browser_name = useragent:browser_name(); 
     browser_version = useragent:browser_version(); 
     os = useragent:os(); 
     os_type = useragent:os_type(); 
     os_version = useragent:os_version(); 
     full_useragent = useragent:string(); 
     message = << 
      <p><strong>Information about your browser:</strong></br /> 
      <em>Browser name:</em> #{browser_name}</br /> 
      <em>Browser version:</em> #{browser_version}</br /> 
      <em>Operating system:</em> #{os}</br /> 
      <em>OS type:</em> #{os_type}</br /> 
      <em>OS version:</em> #{os_version}</br /></p> 
      <p>#{full_useragent}</p> 
     >>; 
    } 
    append("body", message); 
} 

你可能要做一些自己的分析,不過,由於browser_nameos可能會或可能不正確。下面是它看起來像在Chrome瀏覽器的Mac(你可以在任何瀏覽器中使用this URL測試):

Chrome, Mac

這裏是什麼樣子的Safari在iPad上:

Safari, iPad

對您關心的瀏覽器的UserAgent字符串進行一些調查。然後,您可以使用useragent:string()函數與match()一起確定如何處理它。 (如果你想要一個如何做到這一點的例子,請告訴我。)