TableGear is a software package for working with data on the web. It is designed get your data into a web page, and let you work with it quickly and easily, the way you would in powerful desktop applications like Excel.
jQuery Address - Deep linking plugin
The Address plugin provides powerful deep linking capabilities and allows the creation of unique virtual addresses that can point to a website section or an application state. It enables a number of important capabilities.
jQuery Plugin: Tokenizing Autocomplete Text Entry
This is a jQuery plugin to allow users to select multiple items from a predefined list, using autocompletion as they type to find each item. You may have seen a similar type of text entry when filling in the recipients field sending messages on facebook.
SoundManager 2 makes it easier to play sounds using Javascript
By wrapping and extending Flash 8 sound API, SoundManager 2 brings solid audio functionality to Javascript.
FullCalendar - Full-sized Calendar jQuery Plugin
FullCalendar is a jQuery plugin that provides a full-sized, drag & drop calendar like the one below. It uses AJAX to fetch events on-the-fly for each month and is easily configured to use your own feed format (an extension is provided for Google Calendar)
Better, Stronger, Safer jQuerify Bookmarklet
A long time ago I built myself a little bookmarklet to load jQuery on pages that don’t already have it. The idea was to allow me to play around with any page on the web, using jQuery in the Firebug (and now Safari or IE8) console. I blogged about it, got lots of great feedback, and then blogged about an improved version. Now that a lot more great feedback has come through the comments of the updated bookmarklet post, I’ve decided to update it one more time.
The Bookmarklet
To use the bookmarklet, drag the following link to your bookmark/favorites list:
[inline]
» jQuerify «
[/inline]
Then, when you’re on a page in which you want to play around with jQuery in the console, just click the bookmarklet.
Problems with the Other One
The biggest problem with the former version was that it didn’t work when other libraries that use the $ function, such as Prototype and Mootools, were already loaded on the page. A number of people in the comments suggested that I simply add a jQuery.noConflict(); line to the script. But I wasn’t crazy about the idea of having to use jQuery() instead of $() even if no other libraries had been loaded.
Another problem, one that I noticed while testing my new version, was that sometimes the jQuery file that I was inserting from the Google CDN wouldn’t fully load by the time I attempted to use it later in the bookmarklet. At least, I think that’s what was going on. In any case, it was throwing a “jQuery is not defined” error.
A Few Improvements in This One
To handle the problems, I’m having the script do a few things differently:
- Set up a counter to check 10 times if jQuery is loaded before giving up.
- Use a setTimeout to put a one-quarter-second (250ms) delay interval in between attempts.
- Check if the
$()function is already being used by another library. If it is:- use jQuery’s $.noConflict function to release the
$()to the other library. - set
$jqas an alias tojQueryfor convenience. - mention in the flash notice that jQuery is in noConflict mode and that
$jq()should be used instead of$().
- use jQuery’s $.noConflict function to release the
- If after multiple attempts jQuery still won’t load for some reason, set the flash notice’s message accordingly and then remove it through plain old JavaScript rather than jQuery.
Here is the script in its unbookmarkleted form:
-
(function() {
-
var s=document.createElement(’script’),
-
el=document.createElement(‘div’),
-
b=document.getElementsByTagName(‘body’)[0];
-
var otherlib=false,
-
startCounter=tryCounter=10,
-
delay=250,
-
msg=”;
-
s.setAttribute(’src’,‘http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js’);
-
el.style.marginLeft=‘-110px’;
-
el.style.top=‘0′;
-
el.style.left=‘50%’;
-
el.style.padding=‘5px 10px 5px 10px’;
-
el.style.fontSize=‘12px’;
-
el.style.color=‘#222′;
-
el.style.backgroundColor=‘#f99′;
-
-
if(typeof jQuery!=‘undefined’) {
-
msg=‘This page already using jQuery v’+jQuery.fn.jquery;
-
return showMsg();
-
} else {
-
if(typeof $==‘function’) {
-
otherlib=true;
-
}
-
document.getElementsByTagName(‘head’)[0].appendChild(s);
-
}
-
function showMsg() {
-
el.innerHTML=msg;
-
b.appendChild(el);
-
window.setTimeout(function() {
-
if (typeof jQuery==‘undefined’) {
-
b.removeChild(el);
-
} else {
-
});
-
if (otherlib) {
-
$jq=jQuery.noConflict();
-
}
-
}
-
} ,2500);
-
}
-
var tryjQuery=function() {
-
setTimeout(function() {
-
if (typeof jQuery==‘undefined’) {
-
if (tryCounter) {
-
tryCounter–;
-
tryjQuery();
-
} else {
-
msg=‘Sorry, but after ‘ + startCounter + ‘ attempts, jQuery hasn\’t loaded’;
-
showMsg();
-
}
-
} else {
-
msg=‘This page is now jQuerified with v’ + jQuery.fn.jquery;
-
if (otherlib) {msg+=‘ and noConflict(). Use $jq(), not $().’;}
-
showMsg();
-
}
-
}, delay);
-
};
-
tryjQuery();
-
})();
I’m sure it can be improved even further. If you have suggestions for making it more elegant, more efficient, more betterer, I would love to hear them in the comments.
Ajax Tooltip with JQuery
The information is requested via AJAX, so you do not have to include all of this extra information in a hidden div. This keeps your markup smaller for grids with tons of names in it.
ColdExt - A ColdFusion tag library for EXT JS
ColdExt is a ColdFusion tag library which makes it easier to build rich user interfaces using the amazing Ext JS library (currently version 2.2.1).
jsPDF generates PDF documents using pure JavaScript
jsPDF generates PDF documents using nothing but Javascript. You can use it in a Firefox extension, in Server Side Javascript and with Data URIs in some browsers.
Firediff - Firebug extension that tracks changes to a pages DOM and CSS
Firediff implements a change monitor that records all of the changes made by firebug and the application itself to CSS and the DOM. This
provides insight into the functionality of the application as well as provide a record of the changes that were requi
















