Yes, sorry. This demonstrates the importance of reading the entire thread before responding ;-]

Anywhoo, most of the detection methods I referenced still apply. But here's another angle:

My guess is that you could be temporarily sending a response (page) to the browser, instead of issuing a literal 300 series redirect. (Many sites employ this technique: load a blank page just long enough to throw a cookie in there, then have _javascript_ swap out the href a millisecond later. You may see "redirecting..." on the screen for a sec (which is really just a link to the end - in case JS is disabled).

Depending on the speed of your connection, you may have seen this effect when clicking on Google, FB or LinkedIn links.

So if you do the same thing, you could use JS (occasionally cgi) to get the literal size of the device's viewport. Rather than jumping thru hoops to match the user agent with a big list of ever-changing possibilities, just work with the thing that really matters: the size of the window.
http://viewportsizes.com/mine/

HTH,
Al


On 2/3/2016 9:55 AM, Jason King wrote:
HI Al, 

I've already accommodated the UI to be responsive. I have one set of code for everything. It even switches to a mobile style browser once the viewport shrinks to a certain value. 

This specific use-case is for url redirects. 

If someone creates a redirect, ie 'details.at/myNewBook' I'd like for them to create specific redirects based on device, location, and application. 

For location, I'm doing a simple IP lookup against a geoIP database. 

For application, it's just adding a port number to the redirect. 

But for device, I'm finding that I just have to parse the cgi.http_user_agent for matches like 'Windows NT 6.1, Windows NT 10, Linux, Android, iPhone' etc. etc. 

I know that can be spoofed, but I think it's about the only semi-reliable 'non intrusive' way of determining the device type. 

-Jason



On Wed, Feb 3, 2016 at 11:51 AM, 'Alan Holden' via Open BlueDragon <[email protected]> wrote:
Hey Jason;

Mobile device detection is an imperfect skill, but there are a few established methods that folks still leverage.
https://en.wikipedia.org/wiki/Apache_Mobile_Filter
https://en.wikipedia.org/wiki/Mobile_device_detection
https://en.wikipedia.org/wiki/User_agent

I would also dig thru the archives of source code for the Mura CMS (getmura.com) to see how they do it / did it in CFML.

I say "Did it" (past tense) - because the trend is really away from maintaining different sets of code and trying to anticipate every portal resolution out there (phone, tablet, small tablet, large phone, phablet?).

Instead, to make use of a responsive page template: one that automatically adjusts to the client device portal size.
http://html5up.net/

One set of source code, all device sizes. Problem solved.

Al


On 2/3/2016 9:19 AM, Jason Allen wrote:
Hi Matthew, 

So for my windows PC, it returned 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36'

I'm guessing my best bet is to parse the string and find 'Windows NT 6.1' and associate that to a Windows Desktop?   Is there a list that you know of that I can use to accurately parse this information rather than guessing?  
--
--
online documentation: http://openbd.org/manual/
http://groups.google.com/group/openbd?hl=en

---
You received this message because you are subscribed to the Google Groups "Open BlueDragon" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

--
--
online documentation: http://openbd.org/manual/
http://groups.google.com/group/openbd?hl=en

---
You received this message because you are subscribed to the Google Groups "Open BlueDragon" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

--
--
online documentation: http://openbd.org/manual/
http://groups.google.com/group/openbd?hl=en

---
You received this message because you are subscribed to the Google Groups "Open BlueDragon" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

--
--
online documentation: http://openbd.org/manual/
http://groups.google.com/group/openbd?hl=en

---
You received this message because you are subscribed to the Google Groups "Open BlueDragon" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to