Closed Bug 827632 Opened 12 years ago Closed 10 years ago

tecmundo.com.br doesn't recognize B2G UA as mobile

Categories

(Web Compatibility :: Site Reports, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: lmandel, Assigned: adamopenweb)

References

()

Details

(Whiteboard: [uaoverride] [country-br][clientsniff] [sitewait])

tecmundo.com.br serves a desktop site to B2G. Bug 819210 added an UA override for this domain. The override should be removed once the domain serves mobile content to B2G. This bug tracks the evangelism for the site to recognize the B2G UA and the removal of the override at that time.
Whiteboard: [uaoverride]
Whiteboard: [uaoverride] → [uaoverride] [country-br]
some sniffing fun in home-techmundo20130113.js
Whiteboard: [uaoverride] [country-br] → [uaoverride] [country-br][clientsniff]
Summary: tecmundo.com.br doesn't recognize B2G UA as mobile → tecmundo.com.br doesn't recognize B2G UA as mobile ▪ [>>]
Whiteboard: [uaoverride] [country-br][clientsniff] → [uaoverride] [country-br][clientsniff]
Summary: tecmundo.com.br doesn't recognize B2G UA as mobile ▪ [>>] → tecmundo.com.br doesn't recognize B2G UA as mobile
Whiteboard: [uaoverride] [country-br][clientsniff] → [uaoverride] [country-br][clientsniff] [contactready]
So in http://www.tecmundo.com.br/inc/js/home-tecmundo20130113.js
There seems to be a few levels of detection.
One we see in many places:

	function isMobile() {
		var a = navigator.userAgent || navigator.vendor || window.opera;
		if (/android|avantgo|blackberry|blazer|compal|fennec|hiptop|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile|o2|opera m(ob|in)i|palm( os)?|p(ixi|re)\/|plucker|pocket|psp|smartphone|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce; (iemobile|ppc)|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a))
			return true;
		else
			return false;
	}



And then:

function smphone(destino) {
	var ua = navigator.userAgent;
	var larguratela = screen.width;
	var sphone = {
		achou: ua.match(/(iPhone|iPod|BlackBerry|Android|Windows Phone|Nokia)/)
	};
	//if ($.cookie('mobile')==null) {if (sphone.achou && larguratela<500) {window.location = destino ;};};
	if ($.cookie('mobile') == null) {
		if (sphone.achou) {
			window.location = destino;
		};
	};
};

//===========================
//			Redirect Mac & Linux
//===========================
//Baseado no exemplo: http://www.quirksmode.org/js/detect.html
var BrowserDetect = {
	init: function() {
		this.OS = this.searchString(this.dataOS) || "S.O. Desconhecido";
	},
	searchString: function(data) {
		for (var i = 0; i < data.length; i++) {
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1) {
					this.codOS = data[i].cod;
					this.to = data[i].to;
					return data[i].identity;
				}
			} else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function(dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
	},
	dataOS: [{
		string: navigator.platform,
		subString: "Win",
		identity: "Windows",
		cod: 1,
		to: "/"
	}, {
		string: navigator.platform,
		subString: "Mac",
		identity: "Mac",
		cod: 2,
		to: "/mac/"
	}, {
		string: navigator.userAgent,
		subString: "iPhone",
		identity: "iPhone",
		cod: 6,
		to: "/iphone/"
	}, {
		string: navigator.userAgent,
		subString: "iPad",
		identity: "iPad",
		cod: 6,
		to: "/iphone/"
	}, {
		string: navigator.userAgent,
		subString: "Android",
		identity: "Android",
		cod: 7,
		to: "/android/"
	}, {
		string: navigator.platform,
		subString: "Linux",
		identity: "Linux",
		cod: 3,
		to: "/linux/"
	}]

};
BrowserDetect.init();

function sethome() {
	if (document.referrer.indexOf("baixaki.com.br") == -1) {
		if (BrowserDetect.to != "/") {
			window.location = "http://www.baixaki.com.br" + BrowserDetect.to
		};
	};
};
The first function isMobile() is from http://detectmobilebrowsers.com/, which has been updated to support B2G. So we can ask them to simply update that.
Trying contact via support email as listed on the site info@baixaki.com.br.
Assignee: nobody → astevenson
Status: NEW → ASSIGNED
Whiteboard: [uaoverride] [country-br][clientsniff] [contactready] → [uaoverride] [country-br][clientsniff] [sitewait]
This website is using client side user agent detection to determine if a user is browsing using a desktop or mobile client. Unfortunately the site is not properly detecting the user agent string for mobile Firefox browsers. This is causing Firefox mobile browsers to be redirected to the desktop version of the website rather than mobile.
The site belongs to a group http://www.gruponzn.com/
Contacted a developer from there.
Hello, thanks Karl for sending me an email. We will change this in all of our sites. Can you tell me which is your userAgent?
Is that right? Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0
Hi Ruan,

That is correct--but be aware that the "18.0" number will change for different versions. See https://developer.mozilla.org/en-US/docs/Gecko_user_agent_string_reference#Firefox_OS.
Right. We will put the Mobile|Tablet in our regex. I will report as soon as we deploy.
Thanks.
Excellent Ruan. Thanks.
Tested today, sending FFOS to the desktop site still.
Adam, I will check monday. Thanks.
Adam or Karl, can you try again?
Hi Ruan, I tested today and it appears to be working. Thanks for your support :)

On ZTE device with UA override disabled I'm getting the mobile site now.

Karl - can you please remove the UA override?
Flags: needinfo?(kdubost)
Blocks: 1006337
Thanks Adam. Added to the next batch.
Flags: needinfo?(kdubost)
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Product: Tech Evangelism → Web Compatibility
Component: Mobile → Site Reports
You need to log in before you can comment on or make changes to this bug.