Tag javascript
One-Line Browser Detection in Javascript
A single line of JavaScript that that determines the browser of the user. I generally don't use much browser-specific JavaScript these days, but it's nice to know this is there when it's needed. Via Ajaxian
http://www.thespanner.co.uk/2009/01/29/detecting-browsers-javascript-hacks/Jannis Leidel - An autocomplete widget for django-tagging form fields
Jannis Leidel has put together this useful blog post which shows how to use jQuery to provide autosuggest on your django-tagging fields in Django, in both the automatic Admin screens and in your own custom forms.
The only real downside I can see is that it sends the entire tag list with the initial request, so if you have hundreds or thousands of tags then it wouldn't be overly bandwidth-friendly. In those situations it should be relatively easy to modify this to use an XMLHttpRequest, though.
Nice work, Jannis!
http://jannisleidel.com/2008/11/autocomplete-widget-for-django-tagging-form-fields/Pushup: Encourage your users to keep their browser up to date
This looks like a neat piece of JavaScript that will check the browser your visitor is using, and provide a discrete popup message if there is a newer version available.
It isn't a hard push into installing something other than Internet Explorer, but it will alert them if they're using a browser older than IE7, FireFox 2, Safari 3 or Opera 9.25. This is a beautiful way of encouraging users to use recent versions of their browser, which makes life easier for them (better security) and you (more reliable JavaScript implementation).
http://www.pushuptheweb.com/django-assets - Media Asset management for Django
This looks like a very useful application for managing Javascript & CSS files in Django projects. It can combine and compress JS & CSS files either manually (via command line) or automatically (when a user hits your site and one of the files has been changed).
A few sites I'm working on currently include multiple JS files to do their job, this should let me minimise that.
It's just a pity the source code is only available via bzr - since just about every other Django application uses svn it's often nice to keep the status quo. It also removes the ability for other application authors to refer to it via svn:externals. Oh well.
http://code.google.com/p/django-assets/My DebugBar / CompanionJS
CompanionJS is a javascript debugger for Internet Explorer, somewhat similar to FireBug for Firefox. Looks like it'll be a useful tool for finding & fixing JS bugs in IE prior to deploying projects, as like most web developers IE isn't exactly my browser of choice.
http://www.my-debugbar.com/wiki/CompanionJS/HomePageGoogle Code begins hosting AJAX Libraries
Google are using their CDN to host a number of Javascript libraries (including jQuery, prototype, and others). This means that a browser should only have to download the code once, rather than once for each site they visit that uses it.
You can link directly to the .js files, or use a Google API call to always load the latest version of a library.
http://code.google.com/apis/ajaxlibs/45+ Fresh Out of the oven jQuery Plugins
Two month ago we’ve presented the 50 favorite jQuery plugins many developers use and we promised that the second version will be coming soon. Today, we are going to introduce 45+ more jquery plugins that were recently created, so you don’t have to do the search as we did it and will continue to do it to build a useful library of jquery plugins and solution
http://www.noupe.com/ajax/45-fresh-out-of-the-oven-jquery-plugins.htmlComet works, and it’s easier than you think
Comet works, and it’s easier than you think
http://simonwillison.net/2007/Dec/5/comet/Brandon Aaron » Blog Archive » New Plugin: Live Query
Live Query, previously called Behavior, utilizes the power of jQuery selectors by binding events or firing callbacks for matched elements auto-magically, even after the page has been loaded and the DOM updated. This means you can assign a function to a set of elements ("a" for example) and later, when you add more "a" elements they inherit those functions. Cool.
http://blog.brandonaaron.net/2007/08/19/new-plugin-live-query/Validating a Username via jQuery with Ajax
The phrase 'simplifying the user experience' (or it's cousins) is thrown around regularly these days, without many examples on HOW to actually make life easier for the end user. In my opinion it's about removing needless junk wherever possible, letting the user focus on what's actually important. A simple example I've extracted from a current project is minimising needless page loads. Read on to find out how I validate availability of a username during the Django registration process.
Using Subdomains with Django
Sometimes it's really handy to give users their own sub-domain, especially when they're uploading their own content to your Django application. I've done this for a few private projects so far, and it's really quite an easy way to give people an extra level of customisation in your application - it also allows you to make even more beautiful URL's that you might otherwise be doing.
Simple Javascript Spell Checking
In a project I've been working on lately, it's been an important requirement to allow users to spell-check the text they're entering, as it's going to be seen by their family and friends. I spent a bit of time looking at different spell-checking options, which ranged from simple checkers to what seemed to be complete working realtime MS Word™-style spell checkers with underlining and right-click support. In the interests of keeping everything simple to use and as cross-browser as possible, I've settled on a simple yet elegant solution.
Lightbox JS v2.0
Lightbox JS v2.0 is a simple, unobtrusive script used to overlay images on the current page. It's a snap to setup and works on all modern browsers. It's what I use for my image gallery.
http://www.huddletogether.com/projects/lightbox2/Using prototype.js v1.4.0
Prototype.js is a very useful javascript library for doing "Web 2.0" stuff such as AJAX requests and minor DOM manipulation. It just makes life easier by removing some of the redundant stuff that Web 2.0 projects always seem to involve. However, it's documentation sucks. This webpage, by Sergio Pereira, is a fantastic resource for anybody using prototype.js.
http://www.sergiopereira.com/articles/prototype.js.htmlJoseph Scott: Edit In Place
Joseph Scott has a number of very useful articles on using prototype.js to allow users to edit data inline. Very useful for allowing data edits without requiring page reloads.
http://joseph.randomnetworks.com/tag/editinplace