Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>It seems to me browser detection has been widely frowned upon since <a href="http://ejohn.org/blog/future-proofing-javascript-libraries/" rel="noreferrer">this post</a> by Resig a couple of years ago. Resig's comments however were specific to libraries/framework code, i.e. code that will be <em>consumed</em> by other [domain-specific] applications/sites.</p> <p>I think feature detection is without question a good fit <em>for libraries/frameworks</em>. For domain-specific applications however I'm not so sure browser detection is that bad. It's suitable for working around known browser characteristics that are difficult to feature-detect, or for browsers that have bugs in their implementation of the feature itself. Times that browser detection is appropriate:</p> <ul> <li>sites/applications that are not cross-browser and need to show a warning/dialog/DifferentPage tailoring to that client's browser. This is common in legacy applications.</li> <li>Banks or private sites with strict policies on what browsers and versions are supported (to avoid known security exploits that may compromise user's data)</li> <li>micro-optimizations: occasionally one browser is ridiculously faster than the others when performing some operation a certain way. It can be advantageous depending on your user base to branch on that particular browser/version.</li> <li>Lack of png transparency in IE6</li> <li>many display/rendering issues (read: IE css support) that are only witnessed in specific browser versions and you don't actually know what feature to test for.</li> </ul> <p>That said, there are some <a href="https://developer.mozilla.org/en/Browser_Detection_and_Cross_Browser_Support" rel="noreferrer">major pitfalls</a> (probably committed by most of us) to avoid when doing browser detection.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload