disney.com.sg sends desktop site to Firefox OS

RESOLVED WORKSFORME

Status

Tech Evangelism
Mobile
RESOLVED WORKSFORME
3 years ago
3 years ago

People

(Reporter: haseeb, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [country-sg] [clientsniff], URL)

Comment hidden (empty)
Firefox Android -> http://m.disney.com.sg/android/
Safari  iOS 7   -> http://m.disney.com.sg/ios/

The issue is that they do not seem to have a Web only version.
Both versions are proposing a series of app dedicated to the platform Android or iOS and some HTML5 games.

Games like this one is working well on Firefox OS (Gecko) 
once we passed the barrier of the UA sniffing. It's a html5 canvas game.
http://home.disney.com.sg/games/titles/bighero6_big_hero_shootout/index.html

The variable for supportedBrowser is 
	var supportedBrowser = (Modernizr.canvas && (Modernizr.webaudio || (Modernizr.audio==true))) && (isHomeScreen()==true || disneyGamesHTML5.isBrowserSupported());

It could be almost fine with the feature detection if it was not for … disneyGamesHTML5 which goes back to the old UA sniffing. Sad Panda.

DisneyGamesHTML5.prototype.isBrowserSupported = function () {
    var supported = false;

    for (var i = 0; i < this.minBrowser.length; i++) {
        var minBrowser = this.minBrowser[i];
        if ((!minBrowser.browserType || this.info.browserName == minBrowser.browserType) &&
            (!minBrowser.platformType || this.info.platformType == minBrowser.platformType)) {
            if (this.info.browserVersion >= minBrowser.minVersion && minBrowser.minVersion > 0) {
                supported = true;
            }
        }
    }

    return supported;
};



Calling this:


    this.minBrowser = [
        {
            "browserType": "MSIE",
            "platformType": "Win",
            "minVersion": 9
        },
        {
            "browserType": "Chrome",
            "platformType": "",
            "minVersion": 5
        },
        {
            "browserType": "Firefox",
            "platformType": "",
            "minVersion": 3.5
        },
        {
            "browserType":"Safari",
            "platformType":"Win",
            "minVersion":6
        },
        {
            "browserType":"Safari",
            "platformType":"Mac",
            "minVersion":6
        },
        {
            "browserType":"Safari",
            "platformType":"iPhone",
            "minVersion":6
        },
        {
            "browserType":"Safari",
            "platformType":"iPad",
            "minVersion":6
        },
        {
            "browserType":"Safari",
            "platformType":"iPod",
            "minVersion":6
        }
    ];

Not sure we can do anything. One of these cases.



Another issue for testing this time. The first redirection is not a proper HTTP redirection.

→ http -b http://disney.com.sg/  'User-Agent:Mozilla/5.0 (Android; Mobile; rv:36.0) Gecko/36.0 Firefox/36.0' 
<meta http-equiv="refresh" content="0;url=http://home.disney.com.sg/"/>

And the second one when requesting http://home.disney.com.sg/ is a JavaScript client-side redirection.


        <script type='text/javascript'>
                var isMobile = {
                  Android: function() {
                        return navigator.userAgent.match(/Android/i);
                  },
                  iOS: function() {
                        return navigator.userAgent.match(/iPhone|iPad|iPod/i);
                  },
                  Opera: function() {
                        return navigator.userAgent.match(/Opera Mini/i);
                  },
                  any: function() {
                        return (isMobile.Android() || isMobile.iOS() || isMobile.Opera());
                }
        };
        if( isMobile.any() ) {
                window.location = "http://m.disney.com.sg";
        };

Interesting bug. A user with Opera Mini on J2ME
Opera/9.80 (J2ME/MIDP; Opera Mini/7.1.32249/30.3697; U; en) Presto/2.8.119 Version/11.10

will enter in an infinite loop in between m.disney.com.sg and home.disney.com.sg
Whiteboard: [country-sg] → [country-sg] [serversniff]
Whiteboard: [country-sg] [serversniff] → [country-sg] [clientsnifff]
Whiteboard: [country-sg] [clientsnifff] → [country-sg] [clientsniff]
The site is now responsive.
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.