2012-11-01 30 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以及其他许多平板电脑而言,这将是错误的。

相关问题