Difference between behavior and -ms-behavior - html

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

Related

prefixed - what does this means

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)

Chrome moz-box invalid property value

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.

what is the Chrome version support for pattern attribute?

I'm talking about the ability to provide a regular expression as the "pattern" attribute for an HTML textfield input. Like:
<input type="text" pattern="[abc]{3}"/>
According to http://www.chromium.org/developers/web-platform-status/forms, Chrome has supported this attribute for a while (not listed under any specific milestone). But according to http://www.coreservlets.com/html5-tutorial/input-types.html, this user tested the feature in Chrome 8 and it didn't work despite the official site claiming it should.
This feature seems to work fine in my version of Chrome, which is the latest version. However, I can't seem to find out which versions of Chrome this feature is supported in. The application I am working on is required to support Chrome versions as low as 6.0. So I wonder if someone can help me by letting me know what version of Chrome this feature was introduced?
PS: This feature definitely does not work in Safari at all. It's odd that it works in Chrome and not Safari as both are based on Webkit. This is even more evidence to me that it was probably only introduced in a fairly recent Chrome version.
It looks like has might have been supported since version 10.0.

Test browsers compatibility with my website

Recently users of my website complained about the lack of support to IE6\7.
Is there an offline tool to test if a page-HTML isn't compatible with a specif browser and where is the problem?
Where can I find a list of things I need to be aware of in order to support IE6?
Update: The problems the users describe are in the UI, <Div>are not in the right places and that kind of problems, not JavaScript issues.
I can't force the users to upgrade theirs browsers.
IE6 is an ancient browser. Tell people who complain about lack of support that it's no longer supported and they should upgrade.
There is no "syntax checking" tool to find all incompatibilities, because the problems are not in syntax but how it's interpreted. There is no way around visual testing I'm afraid.
Here are some interesting SO questions on the topic:
One fix for all IE6 problems
How are programmers tackling ie6 bugs these days?
Running Internet Explorer 6, Internet Explorer 7, and Internet Explorer 8 on the same machine
IE tester is useful for testing across version of internet explorer. It may not tell you what is wrong but you will at least be able to see / verify what users are reporting.
http://www.my-debugbar.com/wiki/IETester/HomePage
I have some offer about this for you :
Try to use Jquery more,because Jquery is compatible with most browsers
there are 3 useful addons for Mozilla : Firebug , Web Developer , IE tab
IE 9 has a developer windows that you can change your page standard into IE 8 or 7
Use syntax liek this :
<link rel="stylesheet" type="text/css" href="Styles/ie-fix.css" />
maybe this is useful dude for you :)
If your users are complaining about IE6, you should give support to IE, thats theory. BUT, if possible do as google has been doing for years, if the user is using IE6/7 or lower show some links to download newer browsers and tell them that their browser is too old.
You can use a seperate stylesheet for IE.
There is a third party software named Utilu. Utilu IE Collection contains multiple standalone versions of the browser Internet Explorer, which can be used at the same time. It has more than 10 versions of IE. But its used for viewing the web pages. This software also has firefox and chrome collections.

Which browsers support data URIs and since which version?

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)