All Script Junkie Scripting Articles


All Script Junkie Articles | All HTML Articles | All CSS Articles

 

Script Junkie | Script

HTML5 Threading with Web Workers and Data Storage with IndexedDB
HTML5 Threading with Web Workers and Data Storage with IndexedDB
This article continues exploring HTML5 features with a look at Web Workers, a threading object that lets you speed up your client-side applications, and Indexed DB, a client-side data storage mechanism that is the preferred storage approach going forward in HTML5.
Friday, Aug 23, 2013 Wallace B. McClure
HTML5 Video and History: Features Users Can Really See
HTML5 Video and History: Features Users Can Really See
Developers are using features like the viewport, new HTML5 controls, and geolocation to incorporate location, mapping, and new input controls in apps for smartphones, tablets and advanced browsers. This article describes two of these features: the <video> tag lets users display video without plug-ins like Flash, and the HTML5 History object p... More...
Thursday, Aug 22, 2013 Wallace B. McClure
Surviving the Zombie Apocalypse with HTML5 and SVG, Part 4: Dynamic SVG and Path Animation
Surviving the Zombie Apocalypse with HTML5 and SVG, Part 4: Dynamic SVG and Path Animation
In this, the final part of the series, JavaScript will again be used, this time to throw the human a tether of hope in the form of shopping malls and rednecks. Will it be enough? Stay tuned until the end, when JavaScript is also used to calculate the human’s odds of survival and then to set the prediction meter by sniffing the browser’s actual SVG ... More...
Friday, Jun 28, 2013 Justin Whitney
Surviving the Zombie Apocalypse with HTML5 and SVG, Part 3: Manipulating SVG With JavaScript
Surviving the Zombie Apocalypse with HTML5 and SVG, Part 3: Manipulating SVG With JavaScript
Of all the features of HTML5, SVG has gotten precious little attention. Learn how it can create visually appealing pages, while possibly saving you from the impending zombie apocalypse.
Wednesday, Jun 26, 2013 Justin Whitney
Demystifying Modern Social APIs Part 1: Social Sign-In
Demystifying Modern Social APIs Part 1: Social Sign-In
This article describes the implementation and relationship between OAuth 2.0, XHR2 and REST in Web apps that communicate across domains and access content and features on social sites such as SkyDrive and Facebook.
Friday, May 10, 2013 Andrew Dodson
HTML5 Datalists: What They Are They and When to Use Them
HTML5 Datalists: What They Are They and When to Use Them
One of the elements added to HTML5, datalists allows authors to natively provide autocomplete options to users. This article discusses what datalists are, when it's appropriate to use them, their limitations, and what to do in browsers that don't support them.
Tuesday, Apr 16, 2013 TJ VanToll
Create a Cross-Browser Touch-based Joystick with Hand.js
Create a Cross-Browser Touch-based Joystick with Hand.js
This article explores how to use the Hand.js library to create a cross-browser, touch-based joystick.
Thursday, Mar 28, 2013 David Rousset
Unifying Touch and Mouse: How Pointer Events Enable Cross-browser Touch
Unifying Touch and Mouse: How Pointer Events Enable Cross-browser Touch
Developers often ask about a more unified way to handle multitouch input on the Web. This article shows you some browser experiments using MSPointers—an emerging multitouch technology—and polyfills that make cross-browser support for touch events less complex.
Friday, Mar 22, 2013 David Rousset
Introduction to Fabric.js: Part 4
Introduction to Fabric.js: Part 4
Fabric.js is a JavaScript library designed for working with the HTML5 canvas element. In the fourth in a series of articles introducing Fabric.js, this installment covers free drawing, customization techniques, and working with Fabric servers with Node.js.
Thursday, Mar 14, 2013 Juriy Zaytsev
Creating Custom Tooltips with jQuery UI
Creating Custom Tooltips with jQuery UI
The 1.9 release of jQuery UI provides a tooltip widget with capabilities for customized, programmable tooltips. This article explores how to move beyond a browser’s native tooltip functionality to use the widget to enhance today’s complex Web applications.
Wednesday, Mar 6, 2013 TJ VanToll
How I Built the Paint 4 Kids Windows Store App Using Only HTML5 and SVG
How I Built the Paint 4 Kids Windows Store App Using Only HTML5 and SVG
Paint 4 Kids is a Windows Store app built entirely using standard Web technologies, like HTML, CSS, JavaScript and SVG. This article describes the details of how SVG is implemented in the app and how to extend the app’s features with Canvas and Windows 8 APIs.
Thursday, Feb 21, 2013 Pietro Brambati
TypeScript: Add Productivity and Manageability to your JavaScript Apps—Part 2
TypeScript: Add Productivity and Manageability to your JavaScript Apps—Part 2
TypeScript is a powerful superset of JavaScript that serves as a source of structure and organization for script developers. This second in a series of articles explores how to use TypeScript with JavaScript libraries, creating definition files, and other advanced topics.
Monday, Feb 4, 2013 Shayne Boyer
A Deeper Dive into jQuery Mobile: Themes
A Deeper Dive into jQuery Mobile: Themes
This article looks at how to build a custom theme using the Theme Roller, as well it looks at some custom themes that allow a mobile Web application to look more like an iPhone, Android or Windows Phone application.
Friday, Jan 18, 2013 Wallace B. McClure
Building a Windows 8 App with HTML5: How to Create a Small RSS Reader in 30 Minutes, Part 2
Building a Windows 8 App with HTML5: How to Create a Small RSS Reader in 30 Minutes, Part 2
This article is the second of two tutorials that describe how to build a small RSS reader with HTML5, CSS3 and WinJS (the Microsoft JavaScript framework for Windows 8). The tutorials also demonstrate how to use Expression Blend 5 to follow the Windows 8 UI guidelines.
Tuesday, Jan 15, 2013 David Rousset
A Deeper Dive into jQuery Mobile
A Deeper Dive into jQuery Mobile
jQuery Mobile (jQM) provides a JavaScript framework that allows developers to easily add a mobile look and feel to their Web applications. In this article I’ll dig into some advanced features of jQuery Mobile that—with some programming—a developer can use to provide an application that looks and feels very similar to a native app running on a devic... More...
Wednesday, Jan 9, 2013 Wallace B. McClure
Building a Windows 8 App with HTML5: How to Create a Small RSS Reader in 30 Minutes, Part 1
Building a Windows 8 App with HTML5: How to Create a Small RSS Reader in 30 Minutes, Part 1
This article is the first of two tutorials that describe how to build a small RSS reader with HTML5, CSS3 and WinJS (the Microsoft JavaScript framework for Windows 8). The tutorials demonstrate how to use xpression Blend 5 to follow the Windows 8 UI guidelines.
Tuesday, Jan 8, 2013 David Rousset
JSON Security: A Different Perspective
JSON Security: A Different Perspective
JSON is great for transferring data but to keep that data safe, you need to think like an attacker.
Friday, Dec 21, 2012 Tim Kulp
Introduction to Fabric.js: Part 3
Introduction to Fabric.js: Part 3
Fabric.js is a JavaScript library designed for working with the HTML5 canvas element. In the third in a series of articles introducing Fabric.js, this installment covers advanced features: groups, serialization, and classes.
Monday, Dec 17, 2012 Juriy Zaytsev
HTML5 Data Input Validation
HTML5 Data Input Validation
Learn how to connect a jQuery Mobile application to the Forms authentication system in an ASP.NET application. This is just one way developers can use the Application Services framework provided by the Microsoft Ajax Library through ASP.NET to make use of their legacy code in mobile applications.
Monday, Dec 10, 2012 Tim Kulp
TypeScript: Add Productivity and Manageability to your JavaScript Apps
TypeScript: Add Productivity and Manageability to your JavaScript Apps
TypeScript is a powerful superset of JavaScript that serves as a source of structure and organization for script developers. This article explores some of core concepts in TypeScript, including classes, modules, interfaces and type safety.
Monday, Dec 3, 2012 Shayne Boyer
Introduction to Fabric.js: Part 2
Introduction to Fabric.js: Part 2
Fabric.js is a powerful JavaScript library that makes working with the HTML5 canvas element a breeze. Part 2 in the series Introduction to Fabric.js covers how to work with animation, image filters, text objects and text effects, and events.
Thursday, Nov 29, 2012 Juriy Zaytsev
Authentication with jQuery Mobile
Authentication with jQuery Mobile
Learn how to connect a jQuery Mobile application to the Forms authentication system in an ASP.NET application. This is just one way developers can use the Application Services framework provided by the Microsoft Ajax Library through ASP.NET to make use of their legacy code in mobile applications.
Monday, Nov 12, 2012 Tim Kulp
Get Loaded with the File API
Get Loaded with the File API
The File API is a JavaScript API that lets you read and write binary data objects that represent files in Web applications. With the File AP, you can read user-selected files and download new data objects as files.
Monday, Nov 5, 2012 Andrew Dodson
Other People’s Data, Your Security: Mashup Applications for Enterprises, Part 3
Other People’s Data, Your Security: Mashup Applications for Enterprises, Part 3
Modern browsers provide protection to users of a mashup application through a number of built-in features. This article—the final installment in a three-part series—describes how to work with features such as declarative security and the XSS Filter.
Monday, Oct 29, 2012 Tim Kulp
Introduction to jQuery Mobile
Introduction to jQuery Mobile
The jQuery Mobile (jQM) library provides cross-browser support to allow developers to build applications that can run on various mobile Web browsers. This article introduces jQM, covering topics such as attributes, themes, navigation, events, and more.
Friday, Oct 26, 2012 Wallace B. McClure
Other People’s Data, Your Security: Mashup Applications for Enterprises, Part 2
Other People’s Data, Your Security: Mashup Applications for Enterprises, Part 2
In this article, I’ll start exploring how to consume data from CORS connections (or any Ajax connection) by defining a level of trust and then sanitizing accordingly. To do this, I’ll build on top of the guidance provided by Project Silk.
Sunday, Oct 14, 2012 Tim Kulp
Introduction to Fabric.js: Part 1
Introduction to Fabric.js: Part 1
Fabric.js provides a simple object model for creating and managing shapes and images on the HTML5 canvas element.
Sunday, Oct 14, 2012 Juriy Zaytsev
Other People’s Data, Your Security: Mashup Applications for Enterprises
Other People’s Data, Your Security: Mashup Applications for Enterprises
In this series, I’ll investigate how to mitigate security issues that can come along with a mashup application. To frame the discussion, we’ll build an application for the fictional Vision Sciences Corporation, leveraging risk management, good-old input validation and the muscle of modern browsers to keep users safe.
Monday, Oct 8, 2012 Tim Kulp
Accessing Configuration Data Through a Project Silk Widget
Accessing Configuration Data Through a Project Silk Widget
In this article, I’ll show how to build a widget (using the Project Silk widget structure) that pulls data from a configuration file. I’ll also explain a few security tricks that help limit access to the data in your configuration files on the client and server.
Wednesday, Sep 19, 2012 Tim Kulp
Modernize Your HTML5 Canvas Game: Part 2, Offline, Drag-and-Drop and File APIs
Modernize Your HTML5 Canvas Game: Part 2, Offline, Drag-and-Drop and File APIs
In Part 1 of this article, I covered how to use CSS3 3D Transform, Transitions, and Grid Layout. In this article, I’ll show you how to use the offline, drag-and-drop and file APIs to implement some interesting new ideas.
Wednesday, Jun 6, 2012 David Rousset
Modernize Your HTML5 Canvas Game: Part 1, Hardware Scaling and CSS3
Modernize Your HTML5 Canvas Game: Part 1, Hardware Scaling and CSS3
Modern browsers like Internet Explorer 10 are implementing stable versions of some interesting HTML5 features, including the offline, drag and drop and file APIs. These features are bringing us a new era of Web applications and fresh, quickly emerging gaming scenarios.
Thursday, May 31, 2012 David Rousset
HTML5 Now: Getting More Through Polyfills
HTML5 Now: Getting More Through Polyfills
Taking advantage of HTML5 in real-world sites and applications can be a daunting proposition. Though modern browsers are implementing HTML5's new features at a rapid pace, few of us are lucky enough to write applications supporting only the latest crop of browsers.
Monday, May 21, 2012 Dave Ward
Leveraging the jQuery UI Widget Factory with Project Silk
Leveraging the jQuery UI Widget Factory with Project Silk
This article describes how jQuery UI widgets are implemented in Mileage Stats, a sample Web application, with examples of how to manage state in widgets.
Wednesday, Apr 11, 2012 Andrew Wirick
Lockdown Pt. 3: Are Our Applications Secure Yet?
Lockdown Pt. 3: Are Our Applications Secure Yet?
In this article, we are going to test to see if our security controls work. Any time you are securing an application you need to confirm that your security checks are working. This testing should occur early and often throughout your development process to ensure that as little as possible slips under the radar.
Thursday, Aug 18, 2011 Tim Kulp
jWorldmaps: The Anatomy of a jQuery Mapping Plugin
jWorldmaps: The Anatomy of a jQuery Mapping Plugin
Ever want to know how to write a jQuery plugin? For some of you, the answer may be yes, because learning anything new and cool is what drives you. For others, the answer may well be no, because learning in the abstract isn’t as important as solving the particular problem you’re facing today.
Thursday, Aug 11, 2011 G Andrew Duthie
Building Mobile JavaScript WebApps With Backbone.js & jQuery: Part I
Building Mobile JavaScript WebApps With Backbone.js & jQuery: Part I
In Part 1, I'll be covering a complete run-down of Backbone 0.5.2's models, views, collections and routers but also taking you through options for correctly namespacing your Backbone application. I'll also give you some tips including what scaffolding tool that can save time setting up your initial application, the ideal number of routers to use an... More...
Thursday, Aug 4, 2011 Addy Osmani
Lockdown Pt 2– Sanitization and Data Security
Lockdown Pt 2– Sanitization and Data Security
In this second lockdown article, we will continue to address simple solutions for improving our application’s security in this article as we examine Data Sanitization and Data Security. At the end of this article you will be able to clean data coming in to your system and secure data being stored using encryption.
Wednesday, Jul 13, 2011 Tim Kulp
CSS3 Animation With jQuery Fallbacks
CSS3 Animation With jQuery Fallbacks
In this article, we'll be taking a look at how you can use CSS3 transitions to power your application's animations with jQuery's .animate() method as a fallback where transitions aren't supported.
Wednesday, Jul 6, 2011 Addy Osmani
Lockdown Pt 1– Assessing and Securing Legacy Client-side Applications
Lockdown Pt 1– Assessing and Securing Legacy Client-side Applications
Welcome to Lockdown. In this three part series, we will examine how to build security into a legacy application without rewriting the entire system.
Wednesday, Jun 29, 2011 Tim Kulp
Managing Application Resources with the Flyweight Pattern
Managing Application Resources with the Flyweight Pattern
In design patterns, the flyweight is considered one of the most useful classical solutions for code that's repetitive, slow and inefficient - for example: situations where we might create large numbers of similar objects.
Wednesday, Jun 22, 2011 Addy Osmani
MVVM and jQuery: Designing Maintainable, Fast and Versatile Sites
MVVM and jQuery: Designing Maintainable, Fast and Versatile Sites
Choosing a right design pattern to follow when building such web applications is key for designing maintainable, fast and versatile sites. In this post, I would like to suggest an MVVM design approach for building pure client-side web applications with the help of jQuery, templating and data-binding.
Wednesday, Jun 15, 2011 Saar Yahalom
JavaScript Attack/Defend
JavaScript Attack/Defend
No one intentionally builds insecure software but often a lack of security knowledge leads developers to build vulnerabilities into their applications. In this article we are going to examine two web security attacks, how they are executed and how to defend against them.
Wednesday, Jun 8, 2011 Tim Kulp
How, When, And Why Script Loaders Are Appropriate
How, When, And Why Script Loaders Are Appropriate
Script loaders are all the rage these days. Every time someone releases a new one, it's met with both excitement and groans of 'so-and-so already did that' on the Twittersphere. It is indicative of the need we have, and the complexity of the problem.
Wednesday, Jun 1, 2011 Alex Sexton
Understanding the Publish/Subscribe Pattern for Greater JavaScript Scalability
Understanding the Publish/Subscribe Pattern for Greater JavaScript Scalability
Design patterns are an invaluable tool for modern JavaScript developers, providing us with generalized reusable solutions to commonly occurring problems in application design that we can apply to our own problems.
Wednesday, May 18, 2011 Addy Osmani
The Ins and Outs of Script Concatenation
The Ins and Outs of Script Concatenation
Efficient script management is all about that sweet spot where we can both manage our JavaScript codebase as a cleanly-structured source tree, and serve it with the right balance of file count and file size (before network compression, by the way).
Wednesday, May 11, 2011 Cristophe Porteneuve
Introduction to Complex UIs Using jQuery UI
Introduction to Complex UIs Using jQuery UI
Building a web application with jQuery makes the task easier. Similarly, building a web application with a complex UI is made easier with jQuery’s sister project jQuery UI. With jQuery UI we have a collection of interactions, widgets and a theme builder at our fingertips that allows us to make a cohesive UI.
Wednesday, May 4, 2011 Ralph Whitbeck
Extending Your jQuery Application with Amplify.js
Extending Your jQuery Application with Amplify.js
appendTo has recently released a set of JavaScript components that can assist with common problems in front-end development. The library was developed to "Amplify" your current jQuery skills and provide some missing components that are important for developing scalable web applications.
Wednesday, Apr 27, 2011 Elijah Manor, Andrew Wirick
Building Cross-Platform Apps Using jQuery Mobile
Building Cross-Platform Apps Using jQuery Mobile
jQuery Mobile introduces a cross-platform and cross-device framework for developing mobile applications. Just as jQuery changed the way we wrote JavaScript , jQuery Mobile will change the way we build mobile web applications.
Wednesday, Apr 20, 2011 Nick Riggs
How to Build Asteroids with the Impact HTML5 Game Engine
How to Build Asteroids with the Impact HTML5 Game Engine
Over the past couple years or so there has been a dramatic rise in the number of HTML5 games around on the Web, thanks in no small part to the HTML5 gaming engines that are making their development much easier.
Wednesday, Apr 6, 2011 Rob Hawkes
Creating Responsive Applications Using jQuery Deferred and Promises
Creating Responsive Applications Using jQuery Deferred and Promises
Today we’re going to explore the concept of deferreds - an important feature found in JavaScript toolkits such as dojo and MochiKit, which recently also made its debut to popular JavaScript library jQuery.
Thursday, Mar 24, 2011 Julian Aubourg, Addy Osmani
Automating JavaScript Testing with QUnit
Automating JavaScript Testing with QUnit
QUnit was born May 2008, out of the testrunner embedded into the jQuery core repository. It got its own name and documentation and a new home for the code.
Tuesday, Mar 22, 2011 Jörn Zaefferer
Plugin to Data Binding with jQuery
Plugin to Data Binding with jQuery
Today’s internet browser is a powerful application engine running the software of tomorrow. Data is flowing to the browser from all directions (online, local storage, etc…) with robust options for storage and retrieval. Unfortunately, JavaScript still lacks an easy way to display or interact with this data.
Wednesday, Mar 16, 2011 Tim Kulp
Improving User Experience: Preload Images
Improving User Experience: Preload Images
With the increasing trend towards building desktop-like experiences, the number of images being included into web sites is growing dramatically. Just think about all of those dialogs, tabs, tooltips, sliders or calendar controls which are necessary to meet these requirements.
Wednesday, Mar 9, 2011 Jan Lehmann
IndexedDB – The Store In Your Browser
IndexedDB – The Store In Your Browser
If you use your web apps as much as your desktop applications, I am sure you hate the part where you have to be online to get them to work. Well, the HTML5 set of standards may have a solution.
Thursday, Mar 3, 2011 Parasuraman Narasimhan
Test Driven Development: Top-Down or Bottom-Up?
Test Driven Development: Top-Down or Bottom-Up?
Test-Driven Development is a programming process where unit tests are used to specify the behavior of the system prior to writing the actual implementation. TDD for JavaScript has been covered on ScriptJunkie previously by Elijah Manor. In this article I want to discuss the difference between bottom-up and top-down design in TDD.
Tuesday, Mar 1, 2011 Christian Johansen
Planning, Cheating and Faking Your Way Through JavaScript Tests
Planning, Cheating and Faking Your Way Through JavaScript Tests
Good unit tests are focused, fast and isolated. Unfortunately, the code to test sometimes depends on other code that may comprise performance and/or isolation. In this article we will explore some of those cases, and how we can deal with them by planning for testability and loose coupling, and by using test fakes.
Friday, Feb 25, 2011 Christian Johansen
Unit Testing 101: Are You Testing Your JavaScript?
Unit Testing 101: Are You Testing Your JavaScript?
Of course you are testing your code. Nobody writes any significant amount of code and drops it into production without ever running it. What I want to challenge you on in this article is how you are doing your testing. If you are not already automating as much of your testing as possible, be prepared for a productivity and confidence boost.
Wednesday, Feb 23, 2011 Christian Johansen
Cross-domain Ajax: Implementation and Considerations
Cross-domain Ajax: Implementation and Considerations
No Ajax features would be possible without the XmlHttpRequest (XHR) object that Web browsers started supporting about a decade ago. By using a script created instance of the XHR object, you can bypass the classic browser-led machinery that connects you to a requested URL.
Friday, Feb 18, 2011 Dino Esposito
(pre)Maturely Optimize Your JavaScript
(pre)Maturely Optimize Your JavaScript
One of the most quoted maxims in programming comes from Donald Knuth in his famous paper “Structured Programming With Go To Statements”: Premature optimization is the root of all evil.
Tuesday, Feb 15, 2011 Kyle Simpson
How to Write Maintainable OO JavaScript Code
How to Write Maintainable OO JavaScript Code
Writing maintainable Object-Oriented (OO) JavaScript will save you money and make you popular. Don't believe me? Odds are that either you or someone else will come back and work with your code. Making that as painless an experience as possible will save time, which we all know equates to money.
Tuesday, Feb 1, 2011 Ara Pehlivanian
Using the Dojo Toolkit with Microsoft’s WCF
Using the Dojo Toolkit with Microsoft’s WCF
For .NET developers, the Microsoft Windows Communication Foundation (WCF) is an excellent resource for creating service-based Web applications. Defining web services is relatively easy using WCF; using Visual Studio .NET, you can set up a solution with the interfaces needed for WCF quickly and easily.
Tuesday, Jan 25, 2011 SitePen
Building Reusable Widgets with YUI 3
Building Reusable Widgets with YUI 3
Using prepackaged widgets is a great way to speed up website development, but what happens when a widget you need isn't available out of the box and you have to create it yourself? YUI 3's extensible widget infrastructure eases many of the headaches associated with building JavaScript widgets, and allows common functionality to be shared between wi... More...
Thursday, Jan 20, 2011 Ryan Grove
MooTools Class Creation and Organization
MooTools Class Creation and Organization
As web applications aim to become more dynamic, responsive, and feature-filled, they will inevitably need to include more JavaScript. As the amount of code increases, there is also an increase in the need to keep that code organized, extendable, and maintainable. The MooTools JavaScript framework provides you just that.
Tuesday, Jan 18, 2011 David Walsh
Partial Application in JavaScript
Partial Application in JavaScript
Unless you've used a functional programming language such as ML or Haskell, concepts such as partial application and currying may be foreign to you. Since JavaScript supports first-class functions, once you understand these concepts, you can put them to use in your code.
Thursday, Jan 13, 2011 Ben Alman
Namespacing in JavaScript
Namespacing in JavaScript
Global variables should be reserved for objects that have system-wide relevance and they should be named to avoid ambiguity and minimize the risk of naming collisions. In practice this means you should avoid creating global objects unless they are absolutely necessary.
Tuesday, Jan 11, 2011 Angus Croll
Using Geolocation in the Browser and with Hosted Services
Using Geolocation in the Browser and with Hosted Services
If there is one thing that changed immensely in the last few years then it is that our users are not sitting in their own house in front of a stationary box any longer but are more and more using their systems on the go.
Wednesday, Dec 15, 2010 Christian Heilman
Functional vs. Object-Oriented JavaScript Development
Functional vs. Object-Oriented JavaScript Development
I won’t go too far from the truth if I state that JavaScript is such a flexible language that it can be used to write code that follows two radically different programming paradigms—functional programming and object-oriented programming (OOP).
Thursday, Dec 2, 2010 Dino Esposito
Ajax, ASP.Net MVC and Progressive Enhancement
Ajax, ASP.Net MVC and Progressive Enhancement
Visitors to the web sites and applications we build are increasingly demanding an intuitive and responsive user interface.  As developers it’s our responsibility to provide this for them.  However we also need to bear in mind other users of our sites who may be unable to make use of the enhanced functionality – restricted browser clients, simpler d... More...
Wednesday, Oct 27, 2010 Andy Butland
Managing JavaScript Objects
Managing JavaScript Objects
You've read all the blog posts and books, and have sat through Douglas Crockford's hours of lectures, so you now know all there is to know about JavaScript objects. You're familiar with the various forms of inheritance, how prototypes work, and scoping is a topic you can discuss easily. The remaining question is one of applicability: how do you org... More...
Wednesday, Oct 20, 2010 Nicholas Zakas
Sandboxed Natives: Have Your Cake and Eat It, Too
Sandboxed Natives: Have Your Cake and Eat It, Too
Sandboxed natives, named after Dean Edwards' post on sandboxing JavaScript, are JavaScript natives that can be augmented without affecting those on the global/window object. Although not explicitly tested, sandboxed natives should also be compatible with most JavaScript engines, including Carakan, JaegerMonkey, JavaScriptCore, KJS, Nitro, Rhino, S... More...
Wednesday, Oct 13, 2010 John-David Dalton
Alternative Client-Side Storage using Sessvars.js
Alternative Client-Side Storage using Sessvars.js
I was on a project where I needed a really flexible persistent data storage mechanism. Normally, this would be fairly easily handled via server-side data persistence code but in this case, each page of the app was basically a single-page XHR app in that to render the page required a JSONP call and lots of DOM insertion and manipulation.
Wednesday, Sep 15, 2010 Rey Bango
LABjs & RequireJS: Loading JavaScript Resources the Fun Way
LABjs & RequireJS: Loading JavaScript Resources the Fun Way
Updated 8/23: JavaScript resource loading has many different concerns that bear on how it is approached. An increasing number of sites and applications are relying on complex systems of JavaScript resources and many developers are hoping for easier, faster and more maintainable patterns for dependency management
Monday, Aug 23, 2010 James Burke, Kyle Simpson
Fixing Common Browser Issues: Dealing With Key Events
Fixing Common Browser Issues: Dealing With Key Events
Key handling is often an after-thought in most web applications, so today we're going to shed some light on how to properly handle key events in your application. We'll cover what the key events are (keydown, keypress, and keyup), what they tell us, and how to use them.
Wednesday, Aug 11, 2010 Ben Lowery
Progressive Enhancement - Don't Jump Into the River without Testing the Depth First
Progressive Enhancement - Don't Jump Into the River without Testing the Depth First
Web development is still more like wild, wild web development. Innovation happens by pushing the boundaries of technologies and hacking and playing around with systems until we find a way to make things work we want them to.
Tuesday, Aug 3, 2010 Christian Heilman
Using Web Storage on the Client-Side
Using Web Storage on the Client-Side
With the new Web Storage specification we now have new, beefed-up options with localStorage and sessionStorage, which utilize the same syntax but have different use cases, and the total storage space available is (at least) 5 MB!
Wednesday, Jul 28, 2010 Robert Nyman
Prototypes and Inheritance in JavaScript
Prototypes and Inheritance in JavaScript
Forget everything you know about object-oriented programming. Instead, I want you to think about race cars. Yes – race cars.
Thursday, Jul 22, 2010 Scott Allen
jQuery, A Designer's Perspective
jQuery, A Designer's Perspective
There are oodles of sites extolling the benefits of jQuery. From how lightweight it is to its support of CSS3 selectors to its simplicity. But for me, one of the things that made jQuery instantly stand out from other frameworks was its documentation.
Monday, Jul 19, 2010 Emily Lewis
Cross-Document Messaging and RPC
Cross-Document Messaging and RPC
Even though we, for security reasons, most often do not wish pages from different domains to be able to communicate, sometimes we do. And then, we discover that there is no 'proper' way to do so - the current standards and the current technologies are built to disallow it.
Tuesday, Jun 29, 2010 Sean Kinsey
Html Forms, Ajax, ASP.NET MVC and You
Html Forms, Ajax, ASP.NET MVC and You
Over the Web, most of the time clients interact with the Web server in two ways: posting the content of a HTML form and placing a GET request for the content pointed by a given URL. Both types of requests are usually handled by the Web browser and resolved with a full page refresh. The advent of Ajax didn’t change this basic fact, but changed our p... More...
Thursday, Jun 24, 2010 Dino Esposito
Shape Up Your Buttons with jQuery UI
Shape Up Your Buttons with jQuery UI
A graphical user interface wouldn’t be the same without buttons. On the Web, browsers offer a default rendering for push buttons and other types of buttons. By using CSS styles, you can modify the visual rendering of buttons but each button remains of a basic type—whether push button, checkbox, radio button and so forth.
Thursday, Jun 17, 2010 Dino Esposito
Web Accessibility and WAI-ARIA Primer
Web Accessibility and WAI-ARIA Primer
There isn’t a lot of data currently available that quantifies how many websites today are truly accessible. There have been some reports, however, that suggest the percentage of inaccessible web sites is alarmingly high. I’ve even seen figures as high as 81 percent. And these aren’t global figures.
Saturday, Jun 12, 2010 Emily Lewis
Optimizations For Improving Page Load Times
Optimizations For Improving Page Load Times
The issue at hand today is simply this: what are the weightiest optimizations that can be implemented when constructing web pages? This area of web development is best categorized as load-time optimizations. This article is going to examine the most critical load-time optimizations for crafting a speedy web page.
Friday, Jun 11, 2010 Cody Lindley
Cross-Browser Event Handling Using Plain ole JavaScript
Cross-Browser Event Handling Using Plain ole JavaScript
Cross browser event handling is not a trivial task. Fortunately, most of the popular Javascript libraries abstract this process away. But what's hidden behind the scenes is a wonderful bouquet of cross-browser inconsistencies, together with workarounds needed to get event handling to work.
Friday, Jun 4, 2010 Juriy Zaytsev
Building and Maintaining Large JavaScript Applications
Building and Maintaining Large JavaScript Applications
Just because JavaScript is simultaneously more flexible and faster than some of the established languages, doesn’t mean that you can’t have an established structure in your JavaScript apps. In fact, it means you get to decide your favorite way of creating that structure.
Friday, Jun 4, 2010 Alex Sexton
Introduction to the Reactive Extensions to JavaScript
Introduction to the Reactive Extensions to JavaScript
Since I began in the industry (professionally anyways), I’ve been using JavaScript to knock out some pretty interesting solutions. Over the years, many people have tried to abstract over the language, taking such approaches as taking a statically typed language and compiling it to JavaScript, but when it comes down to it, I prefer dealing with the... More...
Thursday, May 27, 2010 Matthew Podwysocki
Introduction to Stateful Plugins and the Widget Factory
Introduction to Stateful Plugins and the Widget Factory
The jQuery UI Widget Factory is a separate component of the jQuery UI Library that provides an easy, object oriented way to create stateful jQuery plugins. Plugins created using the Widget Factory can be simple or very robust as evidenced by the official jQuery UI widgets, each of which are built on top of the Widget Factory. This article will firs... More...
Friday, May 21, 2010 Doug Neiner
History and Back Button Support
History and Back Button Support
Developing interactive websites is great for usability, but one common pitfall of modern websites is the lack of History and Back button support when JavaScript libraries and AJAX techniques are used.
Monday, May 17, 2010 Elijah Manor
Intro to Error Handling in Ajax Apps
Intro to Error Handling in Ajax Apps
Let’s face it. You’re most likely already doing some sort of Ajax in your current web application, and if you aren’t using Ajax, your clients probably want you to starting using it very soon. This article aims to explore the Ajax support in the jQuery JavaScript library.
Monday, May 17, 2010 Elijah Manor
Use Cases for JavaScript Closures
Use Cases for JavaScript Closures
Understanding the theory behind closures in JavaScript is important but being able to apply them in practice is just as paramount. In this article, I'd like to show you some of the examples of closures in practice. Most of these represent actual use cases that we, developers, stumble upon in every-day scripting. I hope this will help you understand... More...
Monday, May 17, 2010 Juriy Zaytsev
Style in jQuery Plugins and Why it Matters
Style in jQuery Plugins and Why it Matters
Most plugin authors are web designers or developers who have created some cool functionality that they want to share with others. Unfortunately, many plugin authors haven't spent enough time examining other people's code to see what really works and what doesn't.
Monday, May 17, 2010 Ben Alman
Doing the Right Thing - How to Use HTML, CSS and JavaScript in an Accessible Manner
Doing the Right Thing - How to Use HTML, CSS and JavaScript in an Accessible Manner
In this article we will discuss some of the misconceptions about accessible web design and show how you can build a dynamic web search without sacrificing the usability or the universal access of your site.
Monday, May 17, 2010 Christian Heilman
Integrating jQuery UI and ASP.NET MVC
Integrating jQuery UI and ASP.NET MVC
In this article, I’ll show how to modify the standard project template of ASP.NET MVC 2 applications to incorporate jQuery UI functionalities. The final result is the skeleton of an ASP.NET MVC application whose front-end implements a jQuery UI tabstrip. The final code is only the starting point for a fully AJAX-enabled ASP.NET MVC application.
Wednesday, May 5, 2010 Dino Esposito
How to Create Your Own jQuery Plugin
How to Create Your Own jQuery Plugin
If you have never created a jQuery plugin, it takes just a few simple steps to get started. By following a handful of guidelines, you can develop a plugin that behaves and feels like a native jQuery method.
Wednesday, May 5, 2010 Elijah Manor
Modal Dialog Boxes in jQuery UI
Modal Dialog Boxes in jQuery UI
Of all the typical features of a Windows desktop application, the one that the new Web developer will likely miss most is a modal dialog box. In this article, I’ll review the technical issues related to creating such windows in a Web scenario and then describe the built-in capabilities of the jQuery UI library as far as modal dialog boxes are conce... More...
Wednesday, May 5, 2010 Dino Esposito
Using CSS Classes as Flags with jQuery
Using CSS Classes as Flags with jQuery
As you progress beyond using jQuery to add simple functionality and begin creating applications that take full advantage of JavaScript in the browser, a new set of challenges accompanies that additional complexity. One of those challenges is tracking the state of your application's client-side elements.
Wednesday, May 5, 2010 Dave Ward
Date Management Tools in jQuery UI
Date Management Tools in jQuery UI
Even though we still lack a standard solution for dealing with dates in Web input forms, at least we can rely on a large number of proposals from a variety of sources within the community. Whether you simply need a basic date picker or are looking for a sophisticated interface for manipulating date ranges and multimonth calendars, you can find a pl... More...
Wednesday, May 5, 2010 Dino Esposito
Building a Data-Driven Tabstrip with jQuery UI
Building a Data-Driven Tabstrip with jQuery UI
In this article, I’ll discuss how to build a tabstrip dynamically using information retrieved from a remote source. The remote data source—a Web service, for example—provides a block of configuration data read from a database or an XML file.
Wednesday, May 5, 2010 Dino Esposito
Building a Data-Driven Accordion with jQuery UI
Building a Data-Driven Accordion with jQuery UI
Collapsible panels are a frequent feature in modern, cutting-edge Web sites. They allow you to display a short highlight—the header—and keep other text hidden and available on demand. Many JavaScript libraries, including the AJAX Control Toolkit, now embedded in the ASP.NET AJAX 4 package, offer ad hoc components to quickly and easily hide and disp... More...
Wednesday, May 5, 2010 Dino Esposito
jQuery Test-Driven Development
jQuery Test-Driven Development
Many of you may be familiar with unit testing in other languages, such as .NET, Ruby, and Java, but this practice isn’t as frequently used in the JavaScript world. Because more client code is being placed on the browser to support richer UI experiences and better interaction with users, having unit tests that cover these areas of development makes ... More...
Wednesday, May 5, 2010 Elijah Manor
Custom jQuery Events and Selector Filters
Custom jQuery Events and Selector Filters
jQuery supports a wide variety of built-in events and selectors. But despite the rich functionality that jQuery provides, you eventually come to a spot where you need an event or a selector that isn’t supported natively. The good news is that jQuery makes it easy to extend the library to support custom events and selectors.
Wednesday, May 5, 2010 Elijah Manor
Six Things Every jQuery Developer Should Know
Six Things Every jQuery Developer Should Know
This article is not intended to be a beginner's guide to jQuery development. Instead, it examines some of the more nuanced situations you encounter during jQuery development.
Wednesday, Mar 31, 2010 Elijah Manor
Creating an HTML-based Tab Strip with jQuery UI
Creating an HTML-based Tab Strip with jQuery UI
Creating complex and compelling user interfaces for the Web has never been easy, and it probably never will be. A complex Web user interface requires enough work on the underlying HTML to compose the graphics you want and enough JavaScript glue code to make it work the way you want.
Wednesday, Mar 31, 2010 Dino Esposito
How to Debug Your jQuery Code
How to Debug Your jQuery Code
In the past 10 years, more and more Web development has moved off the server and migrated to the browser, making a user's experience more responsive. Unfortunately, this transition hasn't been very pleasant for developers... More...
Wednesday, Mar 31, 2010 Elijah Manor

MSDN Magazine Blog

MSDN Magazine Right Rail

14 Top Features of Visual Basic 14: The Q&A
Leading off the feature in the January issue of MSDN Magazine is Lucian Wischik’s fantastic look at Visual Basic .NET 14. As Wischik writes, the newes... More...
Wednesday, Jan 7
Big Start to the New Year at MSDN Magazine
Folks, things are hopping over here at MSDN Magazine. We are kicking off the new year with a pair of issues: Our regularly scheduled January issue and... More...
Friday, Jan 2

More MSDN Magazine Blog entries >


Receive the MSDN Flash e-mail newsletter every other week, with news and information personalized to your interests and areas of focus.