When i run HTML5 compatibility test in Android native browser then it see the IndexedDB support marked as "Prefixed", while in Chrome and other it is marked as "Yes".
I understand Chrome latest version has full support for IndexedDB but what does IndexedDB support as "Prefixed" means?
According to Mozilla page:
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB
"Because the specification is still evolving, current implementations of IndexedDB hide under browser prefixes. Browser vendors may have different implementations of the standard IndexedDB API until the specification has solidified. But once consensus is reached on the standard, the vendors implement it without the prefix tags. Actually some implementations have removed the prefix: Internet Explorer 10, Firefox 16, Chrome 24. When they use a prefix, Gecko-based browsers use the moz prefix, while WebKit-based browsers use the webkit prefix."
As per Josh's comment:
Use something like the following statement to ensure compatibility:
window.indexedDB = window.indexedDB || window.webkitIndexedDB;
The characters 'webkit' are the prefix. You might need to use them in Android, but you no longer need to use them in Chrome (a few years ago you did)
Related
I don't understand the difference between behavior and -ms-behavior. I thought behavior was already only for Microsoft's Internet Explorer, so why is there a vendor prefix version?
Does it make any sense to use both or just -ms-behavior?
Internet Explorer versions 5 and above support the behavior property.
Internet Explorer Version 8 supports the syntactically correct Vendor Specific Extension format of-ms-behavior.
The majority of the time you only need behavior, unless you want to totally force IE8 versions to run in standard mode. Then you should use ms-behavior. But adding both doesn't hurt you at all and it probably is a good practice anyways.
Windows Internet Explorer 8. The -ms-behavior attribute is an extension to CSS, and can be used as a synonym for behavior in IE8 Standards mode.
Check https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx for more information
There are many polyfills out there to convert the contents of a Canvas to a Blob. Before deciding to go with one of those, wanted to know the support of native method canvas.toBlob() on various browsers. How stable is the method in different browsers?? Couldn't find it on http://caniuse.com
Note: I am not looking for server side solutions or client-side polyfill based solutions. Interested in knowing about the stability of toBlob() API.
Updated Feb 02, 2017: canvas.toBlob is supported in Chrome since 50 as well as in Opera (Blink).
At the moment of this writing the support for toBlob() is poor (major browsers only):
Firefox has support (as currently the only one)
Chrome has intended support but there is currently an unsolved issue with it.
Internet Explorer 10-11 support it using prefix, msToBlob() but returns only PNG
Safari has an issue with status "resolved/won't fix"
Opera (Blink) has no support (method not present on canvas element)
Opera (old) has no support (method not present on canvas element)
None support toBlobHD() at this time (as with most of the HD suffixed methods).
I use
display:-moz-box
Its work on firefox truly but "invalid property value" on chrome, what should i do now?
Thanks
Any CSS code that starts with a hyphen is a browser-specific feature (it also often means the feature is experimental and not yet ready for a full release).
Only the browser that uses that extension (-moz- is for Firefox) will work with that property. Other browsers may need their own prefix specified instead (eg -webkit- for Webkit-based browsers, or -ms- for IE).
You should also specify the unprefixed version of the style if it has been standardised, as the experimental prefix is likely to be removed from future browser versions once the standard version is established.
In this particular case, we are talking about the flexbox feature. There has been quite a bit of change to the specs for this over time as it has gone through the standardisation process, so some browsers may support non-standard syntax. This makes it slightly harder to give a succinct answer here, so rather than go into great detail, I'll point you to some articles that may help:
http://css-tricks.com/snippets/css/a-guide-to-flexbox/
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes
use display:-webkit-boxfor chrome
-moz- is a vendor prefix. Vendor prefixes are unique to the browser. They are used to apply non-standard CSS. -moz- is for Mozilla Firefox. -webkit- is for chrome.
I would like to know if HTML5 validation could already by used as a substitute to javascript validation.
HTML validation is so much easier and I want to implement it in my website but I am not sure of it is safe enough.
HTML5 validation is a feature that is fully implemented in several browsers, but is not fully implemented in many older browser versions, notably IE <10, Safari (all versions), as well as older versions of Chrome, Firefox, and Opera.
For those browsers that do not support it, however, you should look into using a Javascript polyfill such as Modernizr to ensure that users with other browsers will have their inputs validated as well. (There may be other polyfills available, but Modernizr is the most popular and widespread option currently available)
Check out this resource for HTML5 validations (see the required attribute). It goes on to explain browser compatibility:
http://diveintohtml5.info/forms.html
Which browsers support data URIs (RFC 2397) and since which version?
Data URI support status for the five major browsers:
Chrome, supported in all versions
Firefox, supported in all versions
Internet Explorer, supported since 8.0 (however, some restrictions apply)
Opera, supported since 7.2
Safari, supported in all versions
Additionally this trick can be used to detect data URI support.
It also appears to work on many mobile browsers now. This is the best list I've found.
Every browser on this Earth supports Data URI's except the __ . (You guessed it right - IE 6,7)