2013-10-21 37 views
0

Javascript中有一種方法可以讓瀏覽器識別用戶的解析並將其重定向到我的特定頁面嗎?這樣的事情:如何讓瀏覽器識別用戶的解析?

var wid=screen.width; 
var hei=screen.height; 

if ((wid = 1024) && (hei = 768)) { 
window.redirect('page1024x768.html',"blank") 
} 

else { 


((wid = 800) && (hei == 600)) { 
window.open(page800x600.html',"_blank") 
} 

else { 

window.open('page1366x768',"_blank") 

我試過,但它不工作,是代碼錯了?

+0

如果這是一個直接的複製/粘貼,你的語法和報價都搞砸了。 – 2013-10-21 00:06:20

+0

_「代碼錯了嗎?」 - - 整個方法已經錯了。請閱讀_media queries_。 – CBroe

+0

800×600?哇,它就像1998年。爲什麼你有幾個決議單獨的網頁?只需設計一個適應分辨率的頁面,並在絕對必要時使用'@ media'查詢。請注意,屏幕分辨率不會告訴您瀏覽器窗口的大小,不是每個人都運行瀏覽器最大化。 – Eevee

回答

3

最直接,你的問題是

  1. 你使用=(分配),而不是==(平等的測試);
  2. 您可能要使用location.replace而不是window.open;
  3. 你錯過了一個開盤報價;和
  4. 你錯過了大括號。

但是,請記住,如果這隻在頁面加載時運行,那麼如果有人更改其屏幕分辨率,它將不會調整; Google等搜索引擎可能不喜歡內容的重複;如果某人有其他更晦澀的決議(事實上和我一樣)呢?更好的解決方案是使用CSS媒體查詢as pointed out by Dhaivat

+0

用戶調整瀏覽器大小並不重要,因爲此代碼會檢查屏幕的大小,而不是瀏覽器的大小。 – skimberk1

+0

@ skimberk1:好的。我想我真的打算說,如果他們改變他們的屏幕分辨率,這將是一個罕見的事件。 – icktoofay

+0

是的,媒體查詢應該是一個更好的解決方案。 – skimberk1

1

您可以使用Javascript來做到這一點,但使用CSS的media queries可能會更容易/更好地設置樣式。

1

理論上說代碼應該可以工作,但是它有很多的語法錯誤。

固定碼:

var wid = screen.width; 
var hei = screen.height; 

if (wid == 1024 && hei == 768) { 
    window.redirect('page1024x768.html',"blank"); 
} 

else if (wid == 800 && hei == 600) { 
    window.open('page800x600.html',"_blank") 
} 

else { 
    window.open('page1366x768',"_blank") 
} 
+0

謝謝,代碼工人非常好。 – Vinicius

相關問題