【问题标题】:Allow access only from mobile and tablet devices仅允许从移动和平板设备访问
【发布时间】:2012-11-06 08:58:08
【问题描述】:

我的客户有非常具体的要求。他想阻止所有“经典”计算机(台式机/笔记本电脑)。

因此,如果我从 iPhone、Android 或平板电脑访问该网站,它会显示所有内容(我可以通过响应式设计处理不同的分辨率)。但是当有人来自 Mac、Windows 或 Linux(我知道 Android 也是基于 gnu/linux ;))访问网络时,他只会收到一条消息,“这个网络仅适用于移动设备”或类似的东西。

但我不确定如何“禁止”mac os、win、linux 等。

可以使用 javascript(jQuery) 库,例如Modernizr 或其他“只是移动设备”的特定条件?

Windows 8 怎么样 :( ?

我真的很感谢任何建议,因为我以前从未有过这样的要求?

【问题讨论】:

  • 好吧 javascript 可以关闭,然后我可以在我的桌面上使用它。您需要使用服务器端的东西
  • 有什么建议,我可以告诉客户在服务器端需要做什么,这样,他的期望可以满足吗?
  • 我建议您查看以下内容:code.google.com/p/php-mobile-detect/wiki/Mobile_Detect 它是 PHP(服务器端代码),用于检测用户浏览您的网站所使用的内容。你可以做类似if($detect->isTablet()){ // Your code here. } else { // redirect them }
  • 谢谢安迪,也为您的链接添加了书签。脚本看起来也很棒。我将通过该网站的开发测试这两个脚本,并可能返回并在我的问题或评论中提供一些反馈。

标签: javascript jquery jquery-mobile modernizr


【解决方案1】:

我认为您可以通过多种方式做到这一点。

您要么通过 javascript 检查,但如果有人关闭 javascript,您将再次被搞砸,因为他们可以查看网站:

if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
 // some code..
}

或者你可以通过modernizr检查它,但我不知道具体如何在modernizr中进行,而且你还会遇到关闭javascript代码的问题,

或者您可以通过以下方式下载适合您情况的脚本:

http://detectmobilebrowsers.com/

您可以做的另一件事是检查屏幕分辨率,但是,我们又回到了 javascript 案例。

【讨论】:

  • 哇,感谢detectmobilebrowsers.com。我已经检查了PHP版本,但我还不知道它是否有效,如果可以,它将是我的问题的解决方案。
  • 不客气,但在你的情况下,我会和客户谈谈,为什么通过浏览器显示网站会这么麻烦。如果它有用,请确保接受答案;-)
【解决方案2】:

根据MSDN,如果是平板电脑,Windows 会将Tablet PC 添加到浏览器用户代理。

我建议不要通过 javascript 执行此操作,因为如上所述:如果禁用 javascript,人们将能够访问您的网站。

【讨论】:

    猜你喜欢
    • 2017-05-08
    • 1970-01-01
    • 2016-07-03
    • 2014-08-28
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 2020-03-31
    相关资源
    最近更新 更多