【问题标题】:Make a mobile device look like a computer to a web page让移动设备在网页上看起来像电脑
【发布时间】:2014-01-16 18:05:35
【问题描述】:

我想知道是否有可能让移动设备在网页上看起来像电脑。

例如,网站 Spotify 会检查您是从计算机还是移动设备访问该页面。 如果您来自计算机,则可以免费播放音乐并使用网站的功能,否则您会看到类似“下载我们的应用程序”(并且您必须支付高级帐户才能使用其完整选项)。

我只是好奇,这样的应用程序可以制作吗? (也许它已经存在而我根本不知道)

我不知道在哪个类别中插入了这个问题(因为我对移动开发一无所知),任何建议都可以接受!

【问题讨论】:

    标签: android ios mobile mobile-devices


    【解决方案1】:

    这可能应该在超级用户上,因为它不是专门的编程问题,但是您确实会问是否可以制作这样的应用程序,所以...

    这取决于浏览器在 HTTP 请求中包含的用户代理字符串。默认情况下,这表示移动用户,因此您将获得移动页面。一些浏览器有一个“查看桌面站点”选项,可以调整用户代理,使请求看起来像是来自桌面浏览器。请注意,选择该选项(如果可用)不能保证始终有效。

    对于 Android(不了解 iOS),您可以通过使用 WebView 的 Activity 自己完成此操作。下面的代码使 webview 伪装成桌面 Firefox 浏览器:

    String ua = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0"
    mWebview.getSettings().setUserAgentString(ua);
    

    仅供参考,以上代码取自问题Want to load desktop version in my webview using uastring

    【讨论】:

    • 所以我应该创建一个简单的浏览器(称为 WebView),将页面呈现为桌面 Firefox 浏览器?
    • 我应该澄清一下,上面的代码仅与 Android 有关。 WebView 是一个 View(即控件/UI 元素),您可以将其包含在可以加载 Web 内容(例如网页)的 Activity(即屏幕)中。在这方面,您可以轻松地创建自己的基本浏览器。
    【解决方案2】:

    屏蔽设备的最简单方法是更改​​用户代理字符串。你可以谷歌如何做到这一点。如果站点算法只检测到用户代理字符串,那么您可以屏蔽它。但是,如果他们的算法更深入地了解设备的其他方面,例如您查看网站的分辨率、浏览器设置。等等......然后它会更难。

    实际上,许多站点只检查用户代理字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 2013-01-01
      • 1970-01-01
      相关资源
      最近更新 更多