Showing posts with label js. Show all posts
Showing posts with label js. Show all posts

Friday, December 18, 2009

App Engine JavaScript SDK

App Engine JavaScript SDK: "Welcome to App Engine for JavaScript! With App Engine, you can build web applications using the JavaScript programming language"

Tuesday, December 15, 2009

JSON Hijacking

If you request JSON


DO NOT use GET
 or if you must, DO NOT return a JSON array.
return a JSON object.

The problem is that an array on its own is a valid javascript statement while an object is not (it needs to be assigned to something or passed to something). By returning valid javascript the request can accessed via a script tag instead of an XHR and executed. Excecuted arrays can be manipulated by malicious code.

 I think this article should be renamed "JSON arrays considered harmful". Vulnerability currently only in "modern" e.g. Firefox, Chrome and Safari.

IE8 is too old fashioned.


Thursday, December 10, 2009

Monday, November 09, 2009

Firebug Lite

Firebug Lite: "Firebug is an extension for Firefox, but what happens when you need to test your pages in Internet Explorer, Opera, and Safari?


The solution is Firebug Lite, a JavaScript file you can insert into your pages to simulate some Firebug features in browsers that are not named 'Firefox'."

Firebug functionality in a bookmarklet

Ajaxian � Fast by Default and Web Performances

Ajaxian responds to points made in "Fast by Default"

Fast by Default

66 slides: : Slides to Steve Souder's interesting talk about reducing page downloadtimes and increasing rendering speeds.

Friday, October 30, 2009

Underscore.js

Underscore.js: "Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects. It's the tie to go along with jQuery's tux."

Thursday, October 22, 2009

Case-Hardened Web Badges: the Live Version - kentbrewster.com

Case-Hardened Web Badges: the Live Version - kentbrewster.com
Today's Plan
Build a script that:

  • uses modern DOM methods 
  • is firewalled from the rest of the page as much as possible 
  • requires nothing more than a single line of JavaScript 
  • creates structure, presentation, and behavior layers 
  • securely passes configuration variables from the page, if needed 
  • queries an outside Web service and displays the results 
  • allows further interaction with those results, without re-drawing the page 
  • works and plays nicely with other scripts, including multiple copies of itself 
  • runs right here, right now, on your laptop 
Break out your editors, because it's time to copy and paste!

Sunday, October 11, 2009

Modernizr

Modernizr: "What is Modernizr?

Have you ever wanted to do if-statements in your CSS for the availability of cool features like border-radius? Well, with Modernizr you can accomplish just that! The syntax is very intuitive, too:

.multiplebgs div p {
/* properties for browsers that
support multiple backgrounds */
}
.no-multiplebgs div p {
/* optional fallback properties
for browsers that don't */
}"

Tuesday, September 22, 2009

Google Code Blog: Gmail for Mobile HTML5 Series: Reducing Startup Latency

Google Code Blog: Gmail for Mobile HTML5 Series: Reducing Startup Latency: "To a user, the startup latency of an HTML 5 based application is critical. It is their first impression of the application's performance. If it's really slow, they might not even bother to wait for the app to load before navigating away. Even if your application is blazing fast after it loads, the user may never get the chance to experience it.

There are several aspects of an HTML 5 based application that contribute to startup latency:


1. Network time to fetch the application (JavaScript HTML)
2. JavaScript parse time
3. Code execution time to fetch the data and render the home page of your application"

Monday, September 07, 2009

Raphaël 1.0 RC; Get your graphics on

Raphaël 1.0 RC; Get your graphics on: "

Raphaël uses the SVG W3C Recommendation and VML as a base for creating graphics. This means every graphical object you create is also a DOM object, so you can attach JavaScript event handlers or modify them later. Raphaël’s goal is to provide an adapter that will make drawing vector art compatible cross-browser and easy.
Raphaël currently supports Firefox 3.0+, Safari 3.0+, Opera 9.5+ and Internet Explorer 6.0+.

Thursday, August 27, 2009

Timefire: On Reducing the Size of Compressed Javascript (by up to 20%)

Timefire: On Reducing the Size of Compressed Javascript (by up to 20%): "That leaves us with the built in GZIP compression that most web browsers include support for. The question is, can we improve compression while remaining compatible with the browser's decoder? There is an existing example of improving GZIP by injecting a reversible transform: bzip2 and the Burrows-Wheeler Transform.

Which brings up an interesting idea, can we do something like BWT's sort but for Javascript, in a way that doesn't require an extra pass to 'undo' the sorting?"

Friday, June 26, 2009

JavaScript InfoVis Toolkit - Interactive Data Visualizations for the Web

JavaScript InfoVis Toolkit - Interactive Data Visualizations for the Web: "The JavaScript InfoVis Toolkit provides tools for creating Interactive Data Visualizations for the Web."

Thursday, May 21, 2009

John Resig - ECMAScript 5 Objects and Properties

John Resig - ECMAScript 5 Objects and Properties: "ECMAScript 5 is on its way. Rising from the ashes of ECMAScript 4, which got scaled way back and became ECMAScript 3.1, which was then re-named ECMAScript 5 (more details)- comes a new layer of functionality built on top of our lovable ECMAScript 3.


There are a few new APIs included in the specification but the most interesting functionality comes into play in the Object/Property code. This new code gives you the ability to dramatically affect how users will be able to interact with your objects, allowing you to provide getters and setters, prevent enumeration, manipulation, or deletion, and even prevent the addition of new properties. In short: You will be able to replicate and expand upon the existing JavaScript-based APIs (such as the DOM) using nothing but JavaScript itself."

Wednesday, May 20, 2009

YouTube - Changes to JavaScript, Part 1: EcmaScript 5

YouTube - Changes to JavaScript, Part 1: EcmaScript 5: "In this first talk, we'll explain changes in EcmaScript 5, the problems they're meant to address, the de-facto standards they codify,
and how these changes are likely to affect web applications."