2012-11-01 32 views
1

我有一個網站,需要將移動用戶重定向到一個移動網站,但由於網站託管在不同的地方,我不能設置cookie來記住他們是否已經從移動網站導演。因此有一個連續的循環。彈出顯示,如果在移動設備上查看

我現在要做的就是顯示一個彈出窗口,如果用戶在手機上查看,爲他們提供在移動設備上查看網站或取消查看完整網站的選項。

我知道這將是可能的Javascript/jQuery中,但我不知道如何去做。

有人可以幫我解決這個問題嗎?

感謝

+0

正如旁白一樣,我會建議反對'彈出'。他們在桌面上是個壞主意,他們在網絡上更糟糕。在網站的左上角放置一個div來給移動鏈接,移動用戶會看到這一點。如果你彈出一個彈出窗口,它會有多大?它會在哪裏出現?您需要擔心設備尺寸,分辨率和方向。然而,真正正確的答案並不是針對不同類型的用戶需要不同的網站。 –

回答

3

你剛纔只是添加彈出你的HTML,隱藏在默認情況下,並顯示它,如果它是一個使用CSS的移動設備。

/* hidden on default */ 
div#popup { display: none; } 

/* use a media query to filter small devices */ 
@media only screen and (max-device-width:480px) { 
    /* show the popup */ 
    div#popup { display: block; } 
} 

這是迄今爲止最好的選擇,性能明智。所有現代手機都支持媒體查詢,所以你也不會有任何問題。

只需添加兩個鏈接,請求用戶轉到桌面站點或移動站點。如果他選擇桌面站點,則可以使用服務器端語言將彈出窗口保留,或者使用javascript刪除彈出窗口。

+0

非常感謝這個,工作喜歡魅力! – user1607021

2

嘗試......

// Check for mobile user agent 
var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase())); 
if (mobile) { 
    //alert("MOBILE DEVICE DETECTED");    
} else { 
    //alert("NO MOBILE DEVICE DETECTED"); 
} 
2

您可以檢查用戶代理。 Here你可以得到詳細的信息。

+1

請總結鏈接的內容;只是發佈一個鏈接是沒有幫助的。 – LittleBobbyTables

+0

用戶代理在這裏需要小心使用;平板電腦用戶可能需要桌面版網站,而不是電話版,因爲他們擁有房地產。 –

0

下面是一些代碼,我已經在過去用來檢測移動設備:

var ua=navigator.userAgent.toLowerCase(); 
var isMobile = 
    screen.width < 500 || 
    ua.indexOf('mobile')!=-1 || 
    ua.indexOf('iphone')!=-1 || 
    ua.indexOf('ipod')!=-1 || 
    ua.indexOf('blackberry')!=-1 || 
    ua.indexOf('windows phone')!=-1 || 
    ua.indexOf('zunewp7')!=-1) && 
    ua.indexOf('tablet')==-1 && 
    ua.indexOf('playbook')==-1 && 
    ua.indexOf('webos')==-1 && 
    ua.indexOf('ipad')==-1; 

這應該檢測的iPhone,iPod播放器,黑莓,Windows手機,ZuneWP7s,大多數Android手機和許多其他手機。對於大多數Android平板電腦,Blackberry Playbooks,WebOS設備,iPad以及其他許多平板電腦而言,這將是錯誤的。

相關問題