when flash is not installed. I have a swf that runs over the top of some content on a site. It is a nice effect but does not hender the appearance of the site if it does not run. If someone accesses the site with an ipad or iphone it shows the little question cube. Is there some code I can put in place to detect the mobile device and not show the swf ?
Many Thanks
- Envato Staff
- Reviewer
- Sold between 100 000 and 250 000 dollars
- Author had a Free File of the Month
- Featured in a Magazine
- Author was Featured
- Item was Featured
- Bought between 10 and 49 items
Use javascript (navigator.userAgent) to detect client browser and show alternative content for Flash
- Australia
- Author was Featured
- Bought between 10 and 49 items
- Contributed a Tutorial to a Tuts+ Site
- Exclusive Author
- Has been a member for 4-5 years
- Item was Featured
- Most Wanted Bounty Winner
- Referred between 50 and 99 users
<script type="text/javascript">
if ((navigator.userAgent.indexOf('iPhone') != -1) || (navigator.userAgent.indexOf('iPod') != -1) || (navigator.userAgent.indexOf('iPad') != -1)) {
document.location = "http://www.site.com/iphone.html";
}
</script>
this should give you the idea…
var MobileDetect={isMobile:function(){var a=navigator.userAgent;return(/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|tablet|playbook|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|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.substr(0,4)));}}
var isMobile = MobileDetect.isMobile();
Thats what I use. The regex is actually an open source thing that some website keeps up to date (though i’ve added a couple to it and made it a simple to use “class” if that’s what you call those javascript object abominations) Use that in conjunction with swfobject’s hasPlayerFlashVersion:
var hasThisFlash = swfobject.hasFlashPlayerVersion('10.0.0');
Use those together and you can detect the 2 things you need to detect: devices that don’t have flash and therefore can’t render it, and devices that shouldn’t have flash because they aren’t powerful enough to render it.
I bought a brilliant flash immitation ipad from this site, of course it works great from any other source but not on an IPad. Is there any way I can get it to run on an ipad if anyone goes to my website? Any answers to help at all? Thanks
^The only way to convert it or use it on the ipad is to build it with air ,but really now one goes this way unless its games ,but for a plain flash on the ipad/iphone you just need to accept it ,there will never be plain flash swf on the ipad/iphone.
Thanks for the reply So, really it has to be built first as an ‘app’. Then the ‘app’ can be played on any platform? In that case, is there a free program I can access to create apps?
^Yap that’s app/Air(But you can take existing flash application and shifted to Air ) then you need to ask yourself why you want to go this way, but no one use Air for regular browsing solution or even photo view atc`, no logic or size issue+ I never like developing for Air just cos` i need to handle the crap IOS issue in the name of games .
But i think the industry gave up with anything to do with IOS and plain flash, you just can’t disturb the IOS dictatorship if it’s not under Apple control.
Also look like flash will be forbidden from window 8 on its entire mobile as a mandatory (you will have to do some flash enabling on the window 8 platform) yes I know we are back to 90
.
