A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.md 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. title: Everyone has JavaScript, right?
  2. url: http://kryogenix.org/code/browser/everyonehasjs.html
  3. hash_url: cbd31f4a6ef7b7526754a48a1faeada3
  4. <dl>
  5. <dt>Your user requests your web app</dt>
  6. <dt>Has the page loaded yet?</dt>
  7. <dd>“All your users are non-JS while they're downloading your JS” — <a href="https://t.co/uTM3255RuW">Jake Archibald</a></dd>
  8. <dt>Did the HTTP request for the JavaScript succeed?</dt>
  9. <dd>If they're on a train and their net connection goes away before your JavaScript loads, then there's no JavaScript.</dd>
  10. <dt>Did the HTTP request for the JavaScript complete?</dt>
  11. <dd>How many times have you had a mobile browser hang forever loading a page and then load it instantly when you refresh?</dd>
  12. <dt>Does the corporate firewall block JavaScript?</dt>
  13. <dd>Because loads of them still do.</dd>
  14. <dt>Does their ISP or mobile operator interfere with downloaded JavaScript?</dt>
  15. <dd><a href="http://www.theguardian.com/technology/2014/jan/28/sky-broadband-blocks-jquery-web-critical-plugin">Sky accidentally block jQuery</a>, <a href="http://aaron-gustafson.com/notebook/2014/the-network-effect/">Comcast insert ads into your script</a>, and if you've never experienced this before, drive to an airport and use their wifi.</dd>
  16. <dt>Have they switched off JavaScript?</dt>
  17. <dd>People <a href="https://gds.blog.gov.uk/2013/10/21/how-many-people-are-missing-out-on-javascript-enhancement/">still do</a>.</dd>
  18. <dt>Do they have addons or plugins installed which inject script or alter the DOM in ways you didn't anticipate?</dt>
  19. <dd>There are thousands of browser extensions. Are you sure none interfere with your JS?</dd>
  20. <dt>Is the CDN up?</dt>
  21. <dd>CDNs are good at staying up (that’s what being a CDN <em>is</em>) but <a href="http://www.cdnperf.com/">a minute downtime a month</a> will still hit users who browse in that minute.</dd>
  22. <dt>Does their browser support the JavaScript you’ve written?</dt>
  23. <dd>Check <a href="http://caniuse.com/">Can I Use</a> for browser usage figures.</dd>
  24. <dt><p>Is all the above true?</p><p>Then yes, your JavaScript works.</p><p><strong>Probably.</strong></p></dt>
  25. <dd><p><a href="http://jakearchibald.com/2013/progressive-enhancement-still-important/">Progressive enhancement</a>. Because sometimes your JavaScript just won’t work.</p>
  26. <p>Be prepared.</p></dd>
  27. </dl>