如何强制加载桌面版本的网站(更改用户 - 代理不起作用)? -- browser 领域 和 asus-eee-pad-transformer 领域 和 3.2-honeycomb 领域 和 dolphin-browser 领域 和 user-agent-string 领域 android 相关 的问题

How to force load desktop version of website (changing user-agent doesn't work)?


7
vote

问题

中文

某些网页强制移动版本甚至我更改了用户代理。 我在内置浏览器中更改了User-Agenter和"Dolphin浏览器HD" , 我在页面www.user-agent-string.info

上检查它

主要问题是Engadget.com,始终在移动版中。 我试图清洁cookie,重启浏览器等。

这是我的结果:

    在内置浏览器中,用户代理 - "桌面" 中的
    • ( allegro.pl )不起作用,重定向到移动版本

  1. 在"Dolphin浏览器HD" 中,用户 - 代理 - "桌面"

    • (nsfw:redtube.com)不起作用,重定向到移动版本
    • (allegro.pl)工作罚款
  2. 在"Dolphin浏览器HD" 中,用户 - 代理 - "ipad"

    • ( engadget.com )不起作用,重定向到移动版本
    • (allegro.pl)工作罚款
    • (nsfw:redtube.com)工作正常
  3. 在"海豚浏览器HD" 中,用户代理 - "自定义" : Mozilla / 5.0(Windows NT 6.0; RV:7.0.1)Gecko / 20100101 Firefox / 7.0.1

    • (engadget.com])不起作用,重定向到移动版本
    • (nsfw:redtube.com)不起作用,重定向到移动版本
    • (allegro.pl)工作罚款

可能使用"Adobe Flash" 用户代理检测?

(i'AM使用华硕变压器TF101,Android 3.2.1,Adobe Flash Player 11)

英文原文

Some webpages forces mobile version even I change user-agent. I changed user-agent in built-in browser and "Dolphin Browser HD", I am checking it on page www.user-agent-string.info

Main problem is engadget.com, always in mobile version. I tried to clean cookies, restart browsers etc.

This is my results:

  1. in built-in browser, user-agent - "desktop"

    • (allegro.pl) doesn't work, redirects to mobile version
  2. in "Dolphin Browser HD", user-agent - "desktop"

    • (NSFW: redtube.com) doesn't work, redirects to mobile version
    • (allegro.pl) works fine
  3. in "Dolphin Browser HD", user-agent - "IPad"

    • (engadget.com) doesn't work, redirects to mobile version
    • (allegro.pl) works fine
    • (NSFW: redtube.com) works fine
  4. in "Dolphin Browser HD", user-agent - "custom": Mozilla/5.0 (Windows NT 6.0; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

    • (engadget.com]) doesn't work, redirects to mobile version
    • (NSFW: redtube.com) doesn't work, redirects to mobile version
    • (allegro.pl) works fine

Maybe this pages using "adobe flash" user-agent detection ?

(I'am using Asus Transformer TF101, Android 3.2.1, Adobe Flash Player 11)

              
       
       

回答列表

5
 
vote

这可能与userAgent无关 - 而是使用响应设计。拍摄我的Android网站:我根本不评估你的ua。使用移动设备尝试该网站,使用您想要的UA和Cookie - 除非您更改屏幕分辨率,否则结果将始终相同。

  @media (max-width: 600px) {   // adjustments for small screens go here }   

这是我网站风格表的片段。一旦屏幕宽度(这不是屏幕的物理宽度,而是浏览器窗口的宽度),就会看到,将应用特殊的CSS:以保持内容可读和聚焦,例如选项卡左到顶部(或底部,根据浏览器如何解释CSS)以及其他几件事。

这意味着:对于此类站点,"强制桌面变体" 的唯一方法将是播放屏幕密度 - 这需要root,可能有一些不需要的副作用(将密度设置得太高,并且您不能再读取任何内容,因为字体GET太小,只是为了命名一个相当无害的例子)。

 

This might have nothing to do with the UserAgent xe2x80x93 but rather use other means of responsive design. Take my Android site for example: I don't evaluate the UA at all. Try the site with your mobile device, play with UA and Cookies all you want xe2x80x93 unless you change your screen resolution, results will always be the same.

@media (max-width: 600px) {   // adjustments for small screens go here } 

That's a snippet from my site's style sheets. You see, as soon as screen width (that's not the physical width of the screen, but the width of the browser window) drops below 600px, special CSS will be applied: to keep the content readable and focused, for example the tabs go from the left to the top (or bottom, depending on how the browser interprets the CSS), and several other things.

Which means: For such sites, the only way to "force the desktop variant" would be to play with screen density xe2x80x93 which requires root and might have some unwanted side-effects (set the density too high, and you cannot read anything anymore as the fonts get too small, just to name a rather harmless example).

 
 
 
 
2
 
vote

注意:

  • 这个答案是为了解决赏金的笔记(由 abhishek anand ",因此,与原始暨历史问题不大。

    赏金说明

    必须有更好的方法来[do]。如果Web服务器忽略了用户代理值并查看屏幕尺寸,则必须有一种伪造屏幕大小的方法。

  • as现在,这个答案只与用于Android的Firefox浏览器。

izzy的回答解释我们这个问题很可能是网站的响应设计,这是一个可以的设计忽略用户代理,并最终选择用户的选择。

响应设计根据浏览器窗口的维度调整网站的UI。即,在桌面上,如果您打开 www.cs.princeton.edu/research/areas或 android.zzzysoft.de/articles.php (两个网站使用响应性设计)一个新窗口并使用鼠标或快捷方式调整窗口的大小,您将在桌面到平板电脑到移动方面见证设计的转换。

此行为意味着网站认为浏览器窗口的尺寸是屏幕的真实维度。

在Firefox中,来自此行为的补救措施是更改密钥 layout.css.devPixelsPerPx 的值。您可以通过在URL栏中键入 abcdefghijklmnabout:config 后跟搜索 layout.css.devPixelsPerPx 。默认值将设置为-1.0。双击值以编辑它。

每拱wiki的 firefox调整和此答案在jscher2000对Mozilla支持,将值更改为1.0将相当于拥有a 96 dpi的屏幕(你的 pov 可能有所不同),经常发现dpi监视器。将值调整为1.0或2.0或甚至从-1.0到1.0的范围。 非常谨慎在FullHD或UltraHD智能手机上使用值小于1.0,因为字体大小可能变得难以辨认。

我发现了1.0的5.5 " fullhd decete和0.4,我的5.0 " non-hd设备是桌面模式的最佳值。

示例屏幕截图:

  • 第一个图像:默认值为-1.0
  • 第二图像:我的fullhd设备的值为1.0
  • 第三图像:对于我的非高清设备的值为0.4

(单击图像放大)

img:1 img:2 img:3

缺点

  • 调整的效果是普遍的,因此,每个站点都会显示在桌面布局中或您选择的布局,直到您将值恢复为-1.0。
  • 某些网站也可以依赖于用户代理,因此可能需要两者的变化。

辅助设备的放松

如果您不断使用响应设计访问一些特定的网站,但仅在桌面模式下,到 about:config 可以非常令人厌倦。

在这种情况下,您可以使用这些灵活的命令:

(需要 busybox 已安装)< / sub>

  • 将布局更改为桌面

     am Force-stop org.mozilla.firefox; 睡觉1; sed -i' $ auser_pref("layout.css.devpixelsperpx" ,"1.0" );' /data/data/org.mozilla.firefox/files/mozilla/*.default/prefs.js; 猴子-p org.mozilla.firefo. 1 

    这里:

    • am :活动经理;强制停止Firefox,否则,更改不会生效
    • sleep :等待进一步执行前的 N 秒;需要一些旧的和慢速设备,如我的旧设备
    • sed :流编辑器;正在添加将布局设置为桌面的配置。 1.0 应由最后一节中最终结束的值替换。

      注意提及 /data/data/org.mozilla.firefox/files/mozilla/*.default/prefs.js 将导致更改在每个Firefox配置文件中进行。要使命令配置文件特定,请将 *.default 替换为配置文件目录的名称。

    • about:config0 :虽然适用于压力测试应用程序,但它有助于我们启动Firefox
    • 的启动器活动
  • 返回默认移动布局

     am Force-stop org.mozilla.firefox;睡觉1; sed -i'/.*layout.css.devpixelsperpx.*/d' /data/data/org.mozilla.firefox/files/mozilla/*.default/prefs.js; monkey -p org.mozilla.firefox 1 

    我们只需删除具有布局配置的行。


现实世界使用

如何使用上一节中的两个命令完全取决于您。

我可以推荐:

  • lmt launcher 。它可以选择将脚本分配给派来(请参阅示例)。在脚本下,您可以复制 - 粘贴整个命令。它还可以将应用程序快捷方式分配给馅饼,因此您可以使用 tasker 或 macrodroid 或安全设置。后一个应用程序可以执行命令。

  • gmd gesturecontrol 。使用手势来控制设备,或者为我们的情况进行控制,执行我们的命令。对于基本的详细信息和用法,请参阅我的答案这里和这里。您需要第三方应用程序,如Tasker或命令执行部分的安全设置。

  • 所有在一个手势。此应用程序还可以使用手势来控制设备。与最后一个应用程序一样,命令执行需要第三方支持。如果需要,请参阅我的答案非常基本的信息。
  • GravityBox 。也许是一个神奇的盒子。您可以使用它来显示将在点击时执行命令的馅饼,或在快速设置栏中添加自定义图块(请参阅示例)。如下,请参阅我的答案的第一个部分这里
  • 覆盖 - 到处都是。让我想起这个示例(图像源)您可以在其中添加东西到全局,隐藏但是在请求中可用,侧边栏。再次,您需要第三部分应用程序来执行命令。对于用法,请参阅官方网站或我的答案在这里

注意:

  • 这个答案的第二部分在回答在 Web浏览器 - 如何传递真正的原始分辨率,以防止站点服务于移动响应设计。
  • 屏幕截图的网站和应用程序建议用于演示目的o 莉。 海报不是附属于任何东西。
  • 用于Android用户的Chrome :可以使用命令行标志来扩展网站。 尽管如此,我没有成功,你可能会努力利用这些来源:

    • arch wiki - hidpi
    • 为android的Chrome设置标志 < / li>
    • 铬命号线开关列表
    • 运行Google Chrome与标志(不是来自Chrome://标志)

 

Note:

  • This answer is meant to address the bounty's note (bounty offered by Abhishek Anand) only, hence, may not be much relevant to the original-cum-historical question.

    Bounty note

    There must be a better way to [do] this. If a web server disregards user-agent value and looks at screen size, there must be a way to fake screen size too.

  • As of now, this answer is relevant only to users of Firefox Browser for Android.

Izzy's answer explains us that the issue is most likely the responsive design of the website, a design which can disregard the user-agent and ultimately, the choice of the user too.

The responsive design adjusts the UI of the website based on the dimension of the browser's window. That is, on desktop, if you open www.cs.princeton.edu/research/areas or android.izzysoft.de/articles.php (both website uses responsive design) in a new window and adjusts the size of the window using mouse or shortcuts, you will witness the transition of the design from Desktop-to-Tablet-to-Mobile.

This behavior implies that the website considers the dimensions of the browser window to be the true dimension of the screen.

In Firefox, the remedy from this behavior is to change the value of the key layout.css.devPixelsPerPx. You can do so by typing about:config in the URL bar followed by searching layout.css.devPixelsPerPx. The default would be set to -1.0. Double tap on the value to edit it.

Per Arch wiki's Firefox Tweaks and this answer by jscher2000 on Mozilla Support , changing the value to 1.0 would be equivalent to having a screen of 96 DPI (your POV may differ), a DPI often found in monitors. Tweak the value to 1.0 or 2.0 or even from a range of -1.0 to 1.0. Be very cautious when using a value to less than 1.0 on fullHD or ultraHD smartphones since the font size may become illegible.

I found 1.0 for my 5.5" fullHD decice and 0.4 for my 5.0" non-HD device the best values for Desktop mode.

Example screenshots:

  • First image: default value to -1.0
  • Second image: value to 1.0 for my fullHD device
  • Third image: value to 0.4 for my non-HD device

(Click image to enlarge)

IMG: 1 IMG: 2 IMG: 3

Drawbacks

  • The effect of the tweak is universal, hence, every site would show up in Desktop layout or the layout you chose to, until you revert the value to -1.0.
  • Some websites may rely on the user-agent too, hence changes in both may be required.

Ease for rooted devices

If you constantly need to access some particular websites with responsive design, but only in Desktop mode, to-and-fro to about:config can be pretty much tiresome.

In that case, you can use these flexible commands:

(Requires BusyBox installed)

  • Change the layout to Desktop

    am force-stop org.mozilla.firefox; sleep 1; sed -i '$auser_pref("layout.css.devPixelsPerPx", "1.0");' /data/data/org.mozilla.firefox/files/mozilla/*.default/prefs.js; monkey -p org.mozilla.firefox 1

    Here:

    • am: activity manager; is force-stopping the Firefox, otherwise, the changes wouldn't take effect
    • sleep: wait for n seconds before further execution; needed for some old and slow devices, like mine
    • sed: a stream editor; is adding the configuration that would set the layout to Desktop. 1.0 should be replaced by the value you ended up in last section.

      Note that mentioning /data/data/org.mozilla.firefox/files/mozilla/*.default/prefs.js will cause the changes to take place in every Firefox profile. To make the command profile specific, replace *.default with the name of the profile directory.

    • monkey: while meant for stress testing an app, it is helping us to launch the launcher activity of Firefox
  • Back to default mobile layout

    am force-stop org.mozilla.firefox; sleep 1;  sed -i '/.*layout.css.devPixelsPerPx.*/d' /data/data/org.mozilla.firefox/files/mozilla/*.default/prefs.js; monkey -p org.mozilla.firefox 1

    We're simply deleting the line having the layout configuration.


Real world usage

How you would practically use the two commands from last section is completely up to you.

I can recommend:

  • LMT Launcher. It has the option to assign a script to a Pie (see example). Under the script you can copy-paste the whole command. It can also assign an app shortcut to a Pie, so you can use it with Tasker or MacroDroid or Secure Settings. The latter apps can execute your commands.

  • GMD GestureControl. Use gestures to control the device, or for our case, execute our commands. For basic details and usage, see my answer here and here. You would need a third-party app like Tasker or Secure Settings for the command execution part.

  • All in one Gestures. This app can also control the device using gestures. Alike the last app, third-party support is required for command execution. If needed, see my answer for very basic info.
  • GravityBox. A magical box perhaps. You can use it to show a Pie which would execute your command on tap, or add a custom tile in the Quick Settings bar (see example). For usage, see the first section of my answer here.
  • Overlays - Float Everywhere. Reminds me of this example (Image source) where you can add stuff into a global, hidden but on-request available, sidebar. Again, you would need a third-part app to execute your commands. For usage, see the official website or my answer here.

Note:

  • The second section of this answer has its roots in the answer by g491 on Web browser - how to pass true native resolution to prevent sites from serving up mobile responsive design.
  • The website in screenshots and the app recommendations are used for demonstration purposes only. The poster is not affiliated to anything.
  • For Chrome for Android users: It maybe possible to scale the website using command-line flags. I had no success, nevertheless, you may try to make good use of these sources:

    • Arch wiki - HiDPI
    • Setting Flags for Chrome on Android
    • List of Chromium Command Line Switches
    • Run Google Chrome with flags (not from chrome://flags)
 
 
2
 
vote

某些IP块或其他报头信息可用于将请求标识为来自电话载体的请求。在尝试过度设计用户体验中,某些网站设计师可以到极端长度(例如使用此信息而不是用户代理)来强制他们认为最佳体验在用户身上。

您可以使用WiFi而不是您的移动数据计划来解决这个问题,但我怀疑这不是您要找的答案。除此之外,我知道,除了抱怨网站运营商之外,我知道你可以做到这一点。

对于它的价值,一些网站在标题或页脚中有一个链接,以允许移动用户查看标准页面(如Facebook),但这是例外而不是规则。

 

Some IP blocks or other header information can be used to identify requests as coming from phone carriers. In an attempt to over engineer the user experience, some web designers could to extreme lengths (such as using this info instead of the user agent) to force what they consider the optimal experience to be on the user.

You can get around this by using WiFi instead of your mobile data plan, but I suspect that's not the answer you're looking for. Other than that, there is zip I know of that you can do about it except complain to the website operators.

For what it's worth, some sites have a link in the header or footer to allow mobile users to view the standard page (like Facebook), but that's the exception rather than the rule.

 
 
   
   
1
 
vote

我正在使用 dolphin for pad

 

I'm using Dolphin For Pad, and it loads the desktop version of Engadget with the default settings. Won't try RedTube since it's NSFW. Give it a try! :)

 
 
1
 
vote

某些站点可以基于屏幕尺寸交换CSS。在电话分辨率下没有太多的电脑运行。禁用JavaScript可能会与Useragent更改一起工作。

 

Some sites may be swapping CSS based on screen size. There's not too many PCs out there running at phone resolutions. Disabling Javascript might work around that along with a useragent change.

 
 
 
 
0
 
vote

我在我的Android上观看了每日展会的完整发作相同的问题。事实证明我将网站作为移动到移动,不得不清除我的缓存并首先将其放在桌面模式中。

 

I had the same issue with watching full episodes of daily show on my android. Turns out I visited the site as mobile first and had to clear my cache and put it in desktop mode first.

 
 
0
 
vote

检查 Web浏览器 - 如何传递真正的本机分辨率,以防止站点服务于移动响应设计

它需要使用特定的浏览器,但至少它是一个像Firefox一样的大名称。

 

Check out the answer at Web browser - how to pass true native resolution to prevent sites from serving up mobile responsive design

It requires using a specific browser, but at least it's a big name one like Firefox.

 
 

相关问题

0  我必须重置我的nexus 7吗?  ( Will i have to reset my nexus 7 ) 
我有一个跑果冻豆的Nexus 7。我正在下载文件,以某种方式我设法删除了一些刻度标记。现在我无法从网上下载任何内容而没有Chrome停止工作。然后我试图从播放商店下载备份程序,该疯狂的播放商店停止。 如何以及在哪里再次添加标记?我必须重置我的nexus 7吗?如果是这样,我买的所有应用程序然后丢失? ...

3  为什么Android浏览器中没有代理支持?  ( Why theres no proxy support in android browsers ) 
Android自行支持以来支持基于铬和基于Firefox的浏览器。 虽然这些浏览器完全支持所有其他操作系统(Linux,OSX甚至Windows)下的HTTP / SOCKS代理,但它们缺少它在Android下缺乏它。根本没有设置来配置一个。 我可以在我的Android设备上轻松配置Socksv5代理,例如, ss...

25  如何在Android设备中获取Chrome同步书签?  ( How can i get my chrome synced bookmarks in an android device ) 
我正在使用Google Chrome并将书签与内置功能同步。如何在我的Android设备中获取这些书签? ...

3  是否有浏览器,使其容易从地址栏搜索?  ( Is there a browser which makes it easy possible to search from the address bar ) 
对于熟悉Google Chrome浏览器的人,我正在寻找基本上将地址栏视为未导航到站点的搜索栏的功能。我会发现这个方便,因为它令人烦人的是先导到Google.com(这是股票浏览器上唯一的选项)或使用搜索小部件。有没有浏览器? ...

3  如何保存“JavaScript:”在Android浏览器中的网址?  ( How do i save javascript urls in androids browser ) 
我已经尝试了点击&amp;保持,如常规网址,但菜单永远不会弹出。有没有办法启用它或者我只需要将URL复制并粘贴到书签中(喜欢这个)? 这是我试图使用的页面: http://www.delicious.com/help/bookmarklet ...

5  什么是Android 5.0及以上的默认浏览器?  ( What is the default browser of android 5 0 and above ) 
Android设备用于将其股票Web浏览器作为其默认浏览器,但如今,它由Chrome替换。据说Android 5.0及更高版本的默认浏览器将是Chrome。话虽如此,如果用股票Web浏览器更新到Android 5.0的电话会发生什么?它的库存Web浏览器是否被删除,也替换为Chrome?或者即使在更新之后,它也会留...

20  是否有支持加载Java applet浏览器的Android浏览器?  ( Are there any android browsers that support loading a java applet in browser ) 
锁定。这个问题及其答案是锁定,因为问题是off-top,但具有历史意义。它目前没有接受新的答案或互动。 我们有一个客户,他们正在切换到基于Android的设备的Windows Mobile...

3  默认(HTC)浏览器中的收藏夹的自定义安排?  ( Custom arrangement of favorites in default htc browser ) 
我可以在默认的htc desire(2.1)Web浏览器中安排我的最爱吗?不仅是最新的,大多数使用,按字母顺序排列? ...

7  有没有办法使用PC浏览器书签使用Android浏览器或海豚HD?  ( Is there a way to use pc browser bookmarklets with the android browser or dolphi ) 
我可以在Android上做出这些工作,还是有没有谷歌地点来创建或转换书签,以使它们兼容Android? ...

2  HTML查看器似乎未运行网站的JavaScripts  ( Html viewer seems not running the websites javascripts ) 
我在sdcard上有一个脱机保存的htm网页以测试JavaScript。我手机上的默认渲染似乎是HTML查看器。但是当我试图打开页面时,代码没有运行。我知道这是因为页面中有一些HTML标记我被添加到检测到这个: <script type="text/javascript"> /* my Javascripts *...

0  Hack IC浏览器恢复“菜单”按钮公开URL字段“  ( Hack ics browser to restore menu button exposes url field ) 
我刚刚收到了一个Galaxy S3,我终于被迫迫使我讨厌我Xoom上出现的那一刻的ICS的一个方面:按'MENU'按钮不再下降在URL字段中,而是迫使你一直滚动到顶部,然后将其拉下来才能获得它。 是否有任何已知的方法来重新启用原始行为(随时按MENU按钮,无论页面是否一直滚动,请参阅可编辑表单中的"URL" 字段下降...

3  如何使用“平均”网站上的Android浏览器?  ( How usable is the android browser on average web sites ) 
我正在考虑购买Android手机以在旅行时用于轻型网络浏览。 Android浏览器如何在平均网页上工作?除了较小的屏幕和缺乏闪光还有其他局限性吗?我特别有兴趣使用它访问我的银行帐户,这些帐户有一种复杂的系统。任何人都有任何经验? ...

25  有没有办法在Android浏览器或海豚HD上使用UserScripts / Greasemonkey脚本?  ( Is there a way to use userscripts greasemonkey scripts on the android browser ) 
我希望能够在Android中使用 userscrosss 。这是可能的吗?我读过这是几个月的几个月,并尝试了一个我无法找到的教程,但它不起作用。 这个问题可能与另一个我提交,但我相信他们可能有完全不同的答案。 ...

4  Android浏览器无法访问路由器的设置页面  ( Android browser not able to access routers settings page ) 
我可以通过 192.168.1.1 与我的电脑一起访问路由器的设置页面,但不是使用我的Android设备。什么是原因? 我的设备: Android gingerbread 与库存浏览器。还尝试使用其他浏览器。例如 Opera Mini 等。 编辑1: 我的设备通过Wi-Fi在同一网络中连接。 网络上不同设备的IP是...

0  防止浏览器模糊页面  ( Prevent browser from obscuring page ) 
默认浏览器(至少在HTC Sense上)具有在页面加载时将地址栏滑动地址栏在网站的顶部部分滑动的令人讨厌的习惯。页面加载后,地址栏仍在那里,但它不再覆盖任何东西。这对Stackoverflow这样的网站尤其恼火,在那里它完美地涵盖了顶级导航区域。任何让它停止的方法? 更多信息: 我之前没有意识到这一点,但这种行为是由...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.