7

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)

4
  • I've had some problems with the default browser getting redirected to mobile sites as well, e.g., teambuy.ca. I would also agree they're using something besides the user agent to determine the redirection. Oct 14, 2011 at 15:30
  • 5
    Please find an example site, other than redTube, to use!!
    – ninjaPixel
    Oct 14, 2011 at 16:57
  • I'd send some fire towards Engadget - if they don't allow you to escape the mobile version, then it's their fault.
    – Broam
    Oct 14, 2011 at 21:45
  • Have you done all the latest OS updates? ASUS has released a couple updates in the recent weeks one of which is supposed to address this exact issue.
    – Zooks64
    Nov 14, 2011 at 3:20

7 Answers 7

5

This might have nothing to do with the UserAgent – 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 – 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 – 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).

1
2

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.

2
  • 2
    Using Wi-Fi instead has never helped me, so I would assume most sites are using another detection method. Jan 21, 2012 at 18:33
  • Depends on whether you have your user agent blocked, I suppose. Mine's blocked.
    – Logos
    Jan 21, 2012 at 22:06
2
+100

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:

1

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

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.

1
  • If it's really CSS-based, JavaScript got nothing to do with this.
    – Izzy
    Dec 12, 2015 at 23:59
0

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

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .