2014-01-13 69 views
-1

我設計一個網站,並希望有不同的瀏覽器不同的頁面,因爲我的頁面看起來很糟糕的Firefox和IE重定向用戶根據自己的瀏覽器 - htaccess的或任何其他方式

能否請你建議我如何根據用戶的瀏覽器將用戶重定向到不同的頁面。

如果您能爲我提供準備使用腳本,我將不勝感激,因爲我不是專業程序員,而是爲我個人使用而設計網站。

我想我對不同的瀏覽器不同的頁面,如

的http:// mysite1的.com/IE.htm

的http:// mysite1的.com/Chrome.htm

HTTP:// mysite1的.com/Firefox.htm

的http:// mysite1的.com/Safari.htm

請提供所有瀏覽器的腳本。 非常感謝。

+4

看起來好像你應該避免做的那種事情? – adeneo

+3

如果你需要爲每個瀏覽器使用不同的頁面,那麼這一切都是錯誤的。 – user555

+2

那麼你錯過了'歌劇,Konqueror,...和很多其他人'你爲什麼不以與每個瀏覽器兼容的方式進行設計? –

回答

0

許多網頁瀏覽器和許多版本的瀏覽器,如一些評論所強調的,並且不可能爲所有瀏覽器開發。

雖這麼說,因爲這是一個個人項目,既然你問,這裏有一個辦法做到這一點在PHP中:

首先,搶用戶代理,以查明使用$_SERVER['HTTP_USER_AGENT']瀏覽器。通過比較他們的useragent和普通的瀏覽器,它可以可能識別他們的瀏覽器。 A list of common useragents可能會有用。

具體來說,谷歌Chrome瀏覽器的例子(您可能希望改進了鍍鉻的版本之間的區別):

if(strpos($_SESSION['HTTP_USER_AGENT'],"Chrome") !== False){ 
    header("Location: http://mysite1.com/Chrome.htm"); 
    //redirects the browser 
} 

基本上,我們使用strpos()搜索用戶代理的字符串Chrome,出現的任何其會強烈建議使用Chrome瀏覽器。

請注意,useragents是衆所周知的不可靠並且它很容易僞造一個useragent,所以他們不應該被信任。

0

大部分「我的網站在瀏覽器X上看起來不好」都可以通過CSS單獨解決。有多種技術可以幫助你,但我會解釋兩種:一種是由Paul Irish提供的blog post,另一種是在SO post中解釋的。

瀏覽器嗅探

HTML:

<!--[if lt IE 7]>  <html class="ie6"> <![endif]--> 
<!--[if IE 7]>   <html class="ie7"> <![endif]--> 
<!--[if IE 8]>   <html class="ie8"> <![endif]--> 
<!--[if gt IE 8]><!--> <html>   <!--<![endif]--> 

CSS:

div.foo { color: inherit;} 
.ie6 div.foo { color: #ff8000; } 

的基本思想是使用條件註釋添加一個類來表示IE版本的根元素,允許您爲該版本編寫特定的規則。

CSS重置

對CSS的某些屬性的默認值是瀏覽器之間的不同。 CSS重置是一組使這些默認值相同的規則。


使用CSS使你的頁面看起來一樣在不同瀏覽器的優點是,HTML是相同的,使得它更容易保持不必更新,誰知道,當您需要多少頁添加網站上的一些文字。

相關問題