Do not sniff for user agents! What will your code do when someone uses the
next iPhone? Or if they have opera installed on their amazon fire? You can
not predict what user agent strings will look like in the future, and are
bound to serve up the wrong content to the wrong people.

This problem has been solved by JS developers, and it's called feature
detection. Instead of relying upon user agent sniffing, check whether the
browser supports <video> tags.

This library is all you need. http://modernizr.com/

Then you can simply do:

if(Modernizr.video){
//code to show html5 video
} else {
//code to show flash video
}


On Tue, Jul 22, 2014 at 8:57 AM, natalia Vikhtinskaya <natavi.m...@gmail.com
> wrote:

> Thank you very much for the help. As I understand I use correct code. I
> don't use different pages for video and flash. I did two blocks on the
> page.
>
> <div id="video" style="display:none">
> <video id="video" width="100%" height="100%" poster="screenshot.png"
> controls="controls" preload="none" >
>  <source src="jack_giant_video.mp4" type="video/mp4" />
>     </video>
>  </div>
>
>  <div id="flash" style="display:block">
>  <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="
>
> http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0
> "
> width="100%" height="100%" id="jack_giant" align="middle">
>  <param name="allowScriptAccess" value="sameDomain" />
>  <param name="allowFullScreen" value="false" />
>  <param name="movie" value="jack_giant.swf" /><param name="quality"
> value="high" /><param name="scale" value="noscale" /><param name="bgcolor"
> value="#fdef96" /> <embed src="jack_giant.swf" quality="high"
> scale="noscale" bgcolor="#fdef96" width="100%" height="100%"
> name="jack_giant" align="middle" allowScriptAccess="sameDomain"
> allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="
> http://www.macromedia.com/go/getflashplayer"; />
> </object>
>  </div>
>
> <script language="javascript">
>  if ((navigator.userAgent.match(/iPad/i) != null) ||
> (navigator.userAgent.match(/iPhone/i) != null) ||
> (navigator.userAgent.match(/iPod/i) != null)) {
> document.getElementById("video").style.display = "block";
> document.getElementById("flash").style.display = "none"; }
>  </script>
>
>
> I should improve JavaScript as Karl shows but unfortunately iPad does not
> play video when html file tests. I tested this mp4 video in browsers that
> support html5 and they play video. The same video iPad does not play. Where
> can be problem?
>
>
> 2014-07-22 4:44 GMT+04:00 Karl DeSaulniers <k...@designdrumm.com>:
>
> > Here is what I use, it's simple and works like a charm for me.
> >
> > <script type="text/javascript">
> > var nAgt = navigator.userAgent;
> >
> > var isMobile = {
> >     Android: function() {
> >         return nAgt.match(/Android/i) ? true : false;
> >     },
> >     BlackBerry: function() {
> >         return nAgt.match(/BlackBerry/i) ? true : false;
> >     },
> >     iOS: function() {
> >         return nAgt.match(/iPhone|iPad|iPod/i) ? true : false;
> >     },
> >     Windows: function() {
> >         return nAgt.match(/IEMobile/i) ? true : false;
> >     },
> >     Symbian: function() {
> >         return nAgt.match(/SymbianOS/i) ? true : false;
> >     },
> >     any: function() {
> >         return (isMobile.Android() || isMobile.BlackBerry() ||
> > isMobile.iOS() || isMobile.Windows() || isMobile.Symbian());
> >     }
> > };
> >
> > if( isMobile.any() ) {
> >     location.href = "HTML5/index.html" ;
> > } else {
> >     location.href = "FLASH/index.html" ;
> > }
> > </script>
> >
> >
> > You can also chek for individual devices by just calling any of the
> > following...
> >
> > isMobile.Android()
> > isMobile.BlackBerry()
> > isMobile.iOS()
> > isMobile.Windows()
> > isMobile.Symbian()
> >
> > You can also add your own deviced if you know the userAgent. Just add it
> > to the array! :)
> > Now, this does not check if flash is installed. I have the old skool
> flash
> > fallback for that and
> > a link to the html 5 page in there as well so if they know they have a
> > html5 compatible
> > desktop browser, they can just click that if they don't what to install
> > flash per se.
> > HTH.
> >
> > Best,
> >
> > Karl DeSaulniers
> > Design Drumm
> > http://designdrumm.com
> >
> >
> >
> > On Jul 21, 2014, at 7:36 PM, Mike Starr <starrten...@gmail.com> wrote:
> >
> > > So this looks complicated.
> > >
> > > A few resources I recommend:
> > > Adobe GoLive
> > > ActiveX
> > >
> > >
> > > On Mon, Jul 21, 2014 at 10:20 AM, Ross P. Sclafani <
> > ross.sclaf...@gmail.com>
> > > wrote:
> > >
> > >> I have done this for a video player i build that does hundreds of
> > millions
> > >> of streams / year across platforms and devices.
> > >>
> > >> I use SWFObject to attempt to write the flash SWF, and put our html5
> > >> rendering code into the callback after the attempt, if the flash
> failed
> > to
> > >> write.
> > >>
> > >>
> > >>
> > >> On Jul 21, 2014, at 1:57 AM, natalia Vikhtinskaya <
> > natavi.m...@gmail.com>
> > >> wrote:
> > >>
> > >>> Thank you very much for this link. But I need a bit different. If
> > browser
> > >>> support HTML5 and Flash it should play Flash. Only platforms that
> does
> > >> not
> > >>> support Flash should play video.
> > >>>
> > >>>
> > >>> 2014-07-20 21:55 GMT+04:00 Ruben Quintana <ruben.quint...@gmail.com
> >:
> > >>>
> > >>>>
> http://coolestguidesontheplanet.com/use-html-5-video-on-all-browsers/
> > >>>>
> > >>>>
> > >>>>
> > >>>> On Sun, Jul 20, 2014 at 12:05 PM, natalia Vikhtinskaya <
> > >>>> natavi.m...@gmail.com> wrote:
> > >>>>
> > >>>>> I need play video only for iPad and other devices that does not
> > support
> > >>>>> Flash. Does this code do that?
> > >>>>>
> > >>>>>
> > >>>>> 2014-07-20 19:51 GMT+04:00 Micky Hulse <mickyhulse.li...@gmail.com
> >:
> > >>>>>
> > >>>>>> On Sun, Jul 20, 2014 at 8:41 AM, natalia Vikhtinskaya
> > >>>>>> <natavi.m...@gmail.com> wrote:
> > >>>>>>> I tested on Windows - just blank page. It seems  does not like
> > >>>>>>> style="display:none" but I don't know another solition.
> > >>>>>>
> > >>>>>> I typically use:
> > >>>>>>
> > >>>>>> <video poster="foo.jpg" width="480" height="360" preload="none"
> > >>>> controls>
> > >>>>>>   <source src="foo.webm" type="video/webm">
> > >>>>>>   <source src="foo.ogv" type="video/ogg">
> > >>>>>>   <source src="foo.mp4" type="video/mp4">
> > >>>>>>   ... Flash fallback goes here ...
> > >>>>>> </video>
> > >>>>>>
> > >>>>>> You'll have to change width/height to match video.
> > >>>>>>
> > >>>>>> This app is great for converting your source to diff formats:
> > >>>>>>
> > >>>>>> <http://www.mirovideoconverter.com/>
> > >>>>>> _______________________________________________
> > >>>>>> Flashcoders mailing list
> > >>>>>> Flashcoders@chattyfig.figleaf.com
> > >>>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >>>>>>
> > >>>>> _______________________________________________
> > >>>>> Flashcoders mailing list
> > >>>>> Flashcoders@chattyfig.figleaf.com
> > >>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >>>>>
> > >>>> _______________________________________________
> > >>>> Flashcoders mailing list
> > >>>> Flashcoders@chattyfig.figleaf.com
> > >>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >>>>
> > >>> _______________________________________________
> > >>> Flashcoders mailing list
> > >>> Flashcoders@chattyfig.figleaf.com
> > >>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >>
> > >>
> > >> _______________________________________________
> > >> Flashcoders mailing list
> > >> Flashcoders@chattyfig.figleaf.com
> > >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >>
> > > _______________________________________________
> > > Flashcoders mailing list
> > > Flashcoders@chattyfig.figleaf.com
> > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
> >
> > _______________________________________________
> > Flashcoders mailing list
> > Flashcoders@chattyfig.figleaf.com
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>



-- 
James Merrill
toThePixel.com <http://www.toThePixel.com>
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to