Theoretically, could you detect if a browser supports HTML5 and prompt the visitor to upgrade to IE9/Firefox/Chrome/Safari/Opera if it doesn't support some features like CSS3 or audio/video tags?
I'm developing a hobby music site in a mostly walled-garden and would like to prevent people with anitquated browsers from accessing/logging into the site.
Mass appeal is not a requirement as the site is for a niche and maximizes JavaScript and HTML5 use.
I'd suggest using the modernizr javascript api to detect the HTML5 features you desire.
http://www.modernizr.com/
You can use a conditional comment to show a warning to IE non-browsers:
<!--[if lt IE 9]> Get out of here! <![endif]-->
(You can also include a <script> tag that redirects to an upgrade page)
Well, theoretically, yes you could. However, it would really be a pain and not at all foolproof as it would likely rely upon javascript for implementation which could easily be circumvented.
Also, in practice, just about any user agent parameter can be spoofed, so you really couldn't rely upon user agent parameter detection to determine whether or not a user agent actually supports a specific tag.
Modernizr may be a good starting point for you, in the case of detecting HTML5 video.
http://diveintohtml5.ep.io/everything.html
Related
I need to implement some kind of audio/video chat.
Customer wants maximal cross browser compatibility (ChromeFrame is not an option).
I've read about WebRTC, it's new and cool, works in Chrome and Firefox, but IE is problem.
Any ideas on implementing this chat for IE ?
WebRTC is not well supported, thus it is not "maximally cross browser compatible".
For maximum compatibility you'll need to either write a browser plugin or use Flash. The fact Google Hangouts require a plugin download is a pretty good indication that this is probably the best solution for supporting the maximum number of users. But it's also non-trivial.
Honestly, implementing audio/video chat from scratch is hard. Really hard. So you should probably avoid it. Instead, consider using a third party solution that you can embed. Assuming that's the route you want to go, you should probably head over to Which service to embed a videochat easily on a website? .
I want to give offline support to website so user can access website even in absence of internet as of offline Gmail.
Please suggest technology?
Ans: HTML5 is the answer for this. I hv added detailed answer below.
Thanks,
Take a look at HTML5 Application Cache: http://www.html5rocks.com/en/tutorials/appcache/beginner/. Note that this is not yet a cross-browser technology and will not work in older browsers.
HTML5 is the answer for this. In HTML5 using LocalStorage and Tag.
Attribute offline script Triggers when the document goes offline and after that you can server content from localstorage.
more on web_storage http://www.w3schools.com/html/html5_webstorage.asp
Edited:
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
http://www.html5rocks.com/en/tutorials/service-worker/introduction/
Greetings to you all!
I want to develop an application that would be able to hold web conference without the users having to download any installable files. After doing some research I have found that flash is perhaps the only option I might have as JMF needs access to registries.
I would like to know if you have any suggestions.
Is it possible to use RTSP with HTML5 to develop the required application.
P.S The application shall be free for all, so I hope you would take the pain to answer. Thanks in advance!
In theory, yes, but is it browser specific.
HTML 5's <video> tag is protocol agnostic—it will not care what you have there. You place the protocol in the src attribute as part of the URL. E.g.:
<video src="rtp://myserver.com/path/to/stream">
Your browser does not support the VIDEO tag and/or RTP streams.
</video>
The problem is that the implementation of the <video> tag is browser specific. Since it is still early days for HTML 5, I expect frequently changing support (or lack of support).
And then you still have to worry about browser specific CODEC support! Flash is, at least today, the "more universal" approach--you'll cover a larger percentage of the web browsing public.
My suggestion is to either
User Flex/Flash
Become an expert on web browsers and enjoy coding on the bleeding edge
I have these webapplications build in old style HTML, including [framesets] to speed up the GUI of the administration.
Its not accessable by SEO etc. so thats not the issue here, it was all based on speed and minimizing reload at the time.
Now we would like to transform these applications and have begun to investigate HTML5 for the purpose.
Ofcause there is AJAX and db-storage etc. to speed up the interface with the new standards, but our question is really:
is IFRAMES and FRAMESETS going to be removed from the HTML5 standard or will it be "allowed" but "less appriciated" ?
Does anyone know whats going to happend?
The frameset and frame elements are obsolete in HTML5.
See http://www.w3.org/TR/html5/obsolete.html#non-conforming-features
The iframe element is valid.
Note that HTML5 still requires browsers to support frames and framesets as per Oded's link, but they are not valid for authors to use on web pages.
Yes, framesets will work, they are part of the current HTML5 spec.
So is iFrame.
As for your question on will they be deprecated or removed all together?
Frames and framesets should not be used in HTML5 as they have been obsoleted.
Since Flash is losing ground I would like to know if there are ways to protect html5 videos with DRM (H264, .ogg and WebM).
On the W3C FAQ on HTML5 it states:
Is there support for digital rights management (DRM) in HTML5 video?
HTML5 doesn't provide direct support, nor any barrier, to using DRM in video. It currently expects this to be handled by the particular codec/implementation. There are implementations which allow for DRM in HTML5 video.
Is dealing with DRM in scope for HTML5?
If enough stakeholders want to standardise some aspect of handling DRM in HTML5 itself as part of the inclusion of video and audio media, then it makes sense for W3C to help standardise an approach which meets the needs of the market. However like all W3C work, relevant stakeholders need to be and show they are committed to developing it rather than expecting it to happen on its own.
Which means it's currently not supported, but there has been a discussion about it on the W3C bug tracker here.
Update:
People interested in this subject might want to consult the working draft of the new encrypted media extension standard.
Updated: EME is currently supported in major browsers.
It does now.
https://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html
Here is an example.
http://www.html5rocks.com/en/tutorials/eme/basics/
This is the best page that I could find on current browser support.
http://www.jwplayer.com/html5/mediasource/
At the time of writing this, EME is supported in
IE11 in Win8.1
Chrome (Desktop and mobile)
Safari 8 in OSX Yosemite
Probably not, even though there's an EME DRM plug-in interface.
Some browsers now support another type of a plug-in called EME (Encrypted Media Extension CDM) for vendor-specific DRM implementations such as Microsoft PlayReady, Google WideVine, Apple FairPlay, etc.
However, the only part of it that is a public standard is a JS API that launches a vendor-specific EME plug-in.
The actual DRM API required to make use of it is vendor-specific, secret and proprietary. To have working DRM across browsers you will have to sign separate contracts with Adobe, Microsoft, Google and Apple (which may be difficult if you're not Netflix).
Consider abandoning idea of DRM, as it's more likely to backfire than protect the content.
This is an updated answer, comments don't make sense any more
Already in chrome.
Here is a running example using it.
Widewine provides video DRM for HTML5 and h.264. Recently, another company Haihaisoft said they released HTML5 DRM for MP4 and WebM video: . It doesn't need Flash anymore. You might try it online. HTML5 Demo in Xvast browser DRM-X 4.0 in the news
You could implement some kind of encryption scheme with public/private key - I recently heard about http://www.widevine.com/ who seem to be doing something like that for html5 and h.264 . But I am not aware of anyone having applied to web video in general.
Sure you can stop someone from downloading the file simply by not giving them permission to download anything from certain folders on your server. Maybe there is something I am missing here. Seems like that would be a relatively easy solution.