You may remember when JavaScript was a dark art. It earned that reputation because, in order to do anything with even the teensiest bit of cross-browser consistency, you had to fork your code for various versions of Netscape and IE. Today, thanks to web standards advocacy and diligent JavaScript library authors, our code is relatively fork-free. Alas, in our rush to use some of the features available in CSS3, we’ve fallen off the wagon. Enter Aaron Gustafson’s eCSStender, a JavaScript library that lets you use CSS3 properties and selectors while keeping your code fork- and hack-free.
Topic: JavaScript
Taking Advantage of HTML5 and CSS3 with Modernizr
Years ago, CSS browser support was patchy and buggy, and only daring web designers used CSS for layouts. Today, CSS layouts are commonplace and every browser supports them. But the same can’t be said for CSS3 and HTML5. That’s where Faruk Ateş’s Modernizr comes in. This open-source JavaScript library makes it easy to support different levels of experiences, based on the capabilities of each visitor’s browser. Learn how to take advantage of everything in HTML5 and CSS3 that is implemented in some browsers, without sacrificing control over the user experience in other browsers.
Better JavaScript Minification
Like CSS, JavaScript works best and hardest when stored in an external file that can be downloaded and cached separately from our site’s individual HTML pages. To increase performance, we limit the number of external requests and make our JavaScript as small as possible. JavaScript minification schemes began with JSMin in 2004 and progressed to the YUI Compressor in 2007. Now the inventor of Extreme JavaScript Compression with YUI Compressor reveals coding patterns that interfere with compression, and techniques to modify or avoid these coding patterns so as to improve the YUI Compressor’s performance. Think small and live large.
Accent Folding for Auto-Complete
Another generation of technology has passed and Unicode support is almost everywhere. The next step is to write software that is not just “internationalized” but truly multilingual. In this article we will skip through a bit of history and theory, then illustrate a neat hack called accent-folding. Accent-folding has its limitations but it can help make some important yet overlooked user interactions work better.
The Problem with Passwords
Abandoning password masking as Jakob Nielsen suggests could present serious problems, including undermining a user’s trust by failing to meet a basic expectation. But with design patterns gleaned from offline applications, plus a dash of JavaScript, we can provide feedback and reduce password errors without compromising the basic user experience or losing our visitors’ trust.
Discovering Magic
Wouldn’t it be a little magical if, when you signed up for a new site, it said something like, “We notice you have a profile photo on Flickr and Twitter, would you like to use one of those or upload a new one?” Glenn Jones created a JavaScript library called Ident Engine that can help you do just that.
Inline Validation in Web Forms
Web forms don’t have to be irritating, and your inline validation choices don’t have to be based on wild guesses. In his examination of inline form validation options, Luke Wroblewski offers that rarest of beasts: actual data about which things make people smile and which make them want to stab your website with a fork.
JavaScript MVC
As JavaScript takes center stage in our web applications, we need to produce ever more modular code. MVC (Model-View-Controller) may hold the key. MVC is a design pattern that breaks an application into three parts: the data (Model), the presentation of that data to the user (View), and the actions taken on any user interaction (Controller). Discover how MVC can make the JavaScript that powers your web applications more reusable and easier to maintain.
Creating Intrinsic Ratios for Video
Have you ever wanted to resize a video on the fly, scaling it as you would an image? Using intrinsic ratios for video and some padding property magic, you can. Thierry Koblentz shows us how.
Advanced Debugging With JavaScript
JavaScript debuggers help find and squash errors in code. To become an advanced debugger, you’ll need to know about the tools available to you, the typical JavaScript debugging workflow, and code requirements for effective debugging. In this article, using a sample web application, Steen and Mills share advanced techniques for diagnosing and treating bugs.
