Anthony's Java Bookmarklet

Show my Bookmarks

Show bookmarklet page

Blog Bookmarklets

Bookmarklets

From IRT.org

Bookmarklets are simple tools that extend the surf and search capabilities of Netscape and Explorer web browsers.

Steve Kangas - "Chief of Rocket Science" - Bookmarklets.com

Introduction

Here is something novel: using JavaScript to make your web experience more enjoyable, when you decide, and with what you want to do - rather than site specific JavaScript code that performs what the web author wants to do.

Wherever you browse the WWW, the chances are you'll come across a site that does something you don't like: opens new windows, displays white text on a black ground, etc. Until you've visited the site, you'll not know what it is that you'll not like. And once you've visited, its too late to change anything.

Wouldn't it be nice to actually alter the look of a site, extract data from a page, search the web and navigate in new ways?

This is where JavaScript Bookmarklets come in. The Bookmarklets.com web site run by Steve Kangas, uses a JavaScript feature not often demonstrated. Since the introduction of Netscape Navigator 3.x and Microsoft Internet Explorer 4.x, it has been possible to use a JavaScript URL in the form javascript:code in the location bar on all platforms: Windows, Mac, Unix etc.

If you are using one of the appropriate browsers, why not type the following into the location bar right now:

javascript:alert('Hello World')

If you are using one of the appropriate browsers, and have JavaScript enabled, then you should see a JavaScript alert window with the words "Hello World". Notice how the location of the current document is not changed. This allows us to invoke JavaScript code on the current document without changing the documents location, and without requiring special access privileges to the documents site.

For example, to find out the current documents title, we can use the following JavaScript URL:

javascript:alert(document.title)

Which should display "JavaScript Bookmarklets".

Making bookmarklets

If you regularly visit a particular web site, that, say, has a bad choice of background color. Perhaps you find it hard to read the text. Wouldn't it be great to be able to change the background color with out too much hassle? Well the following JavaScript URL would change the background color of the current document to white:

javascript:void(document.bgColor='#FFFFFF')

However, after typing that out a few times, you might find yourself putting up with orange text on a red background. This is where the bookmarklet idea comes into its own.

Why not simply bookmark the JavaScript URL?

Indeed, why not? There is no reason not to. The JavaScript code, being part of the URL, will be safely stored in your bookmarks file. The JavaScript code cannot cause any problems (at worse it will simply generate an error message), it is small and effective, and it is only invoked when you choose the bookmark from your bookmark or favourites list.

But how do you bookmark a JavaScript URL? If you bookmark the effects of a typing in a JavaScript URL, then all you'll do is bookmark the current document.

This is simple. Just create a temporary page with the JavaScript URLs as complete hypertext links. For example:

<A HREF="javascript:void(document.bgColor='#FFFFFF')">White background</A> <A HREF="javascript:void(document.bgColor='#000000')">Black background</A>

which looks like:

White background
Black background

and then just bookmark the above links:

For Netscape on the Mac and some Unix platforms, it may be necessary to rename the bookmarklet (since Add Bookmark lists the javascript URL as the name of the bookmark instead of the link text).

You'll now have two bookmarklets which can be used to alter the background color of any web page.

Unlike normal bookmarks, which include the documents title text, the bookmarked links use the link URL as the description of the bookmark, however, once bookmarked it is possible to manage/edit your bookmarks to give them a more user friendly description.

Why and when to use the void

The void operator discards the value of its operand and returns an undefined value. It is often used within links using the javascript: protocol to ignore the results of expressions. For example, when using the window objects open method, a reference is returned to the newly created window. This is usually used as a window handle. However, when used in a link, the returned window reference will cause the browser to display the returned result (normally '[object Window]') in the current window, thus overwriting the original contents. Using the void operator stops this from occuring:

<A HREF="javascript:void(window.open('about:blank', 'windowName', 'width=100,height=100'))">about:blank</A>

Which produces:

about:blank

Frame Compatibility

Bookmarklets act on the windows document, this means that if the window contains a frameset then there is a possibility that a bookmarklet will fail to achieve its objective, e.g. changing the background color, as it will attempt to change the background color of the window and not one of the framed documents. It just depends on what the bookmarklet is attempting to do. For example, a bookmarklet to place the URL of the window in the body of an email message would work perfectly:

<A HREF="javascript:location.href='mailto:?SUBJECT=' + document.title + '&BODY=' + escape(location.href)">Send Location</A>

Which produces:

Send Location

It is possible to make bookmarklets compatible with frames - although you'll probably want one version for non framed pages, and another for framed pages - you just need to add frame navigation to your bookmarklets. For example, to change the background color of any frame within a frameset, you could add a prompt to confirm which frame you wish to change:

<A HREF="javascript:n=top.frames.length;if(n>0) {f=prompt('Which frame? [1-'+n+']','');if (f>n) {alert('Out of range!')} else {void(top.frames[f-1].document.bgColor='#FFFFFF')}} else {void(document.bgColor='#FFFFFF')}">White background</A> <A HREF="javascript:n=top.frames.length;if(n>0) {f=prompt('Which frame? [1-'+n+']','');if (f>n) {alert('Out of range!')} else {void(top.frames[f-1].document.bgColor='#000000')}} else {void(document.bgColor='#000000')}">Black background</A>

Which produces:

White background [Frame compatible]
Black background [Frame compatible]

It's also possible to write a recursive script that descends through the frames. For an example, see the code for Page Freshness (Frames version) at http://www.bookmarklets.com/tools/frames.phtml#pgfrshfrm

Browser Compatibility

As you are no doubt aware, Microsoft and Netscape have different implementations of JavaScript and the Document Object Model, therefore it is possible to write bookmarklets that will work with one browser but not another.

It is also possible write bookmarlets that will only work correctly on the latest browser versions. For example, to get feel for how long a document is the following bookmarklet will calculate how many windows the current document fills:

<A HREF="javascript:alert('The document fills about ' + Math.round((document.height*document.width) / (innerHeight*innerWidth)) + ' windows (at current window size)')">Document size</A>

Which produces:

Document size (NN4+)

As it stands it will only work in Netscape Navigator 4+, but another bookmarlet could be written for Microsoft Internet Explorer 4+:

<A HREF="javascript:alert('The document fills about ' + Math.round((document.body.clientHeight*document.body.clientWidth) / (document.body.offsetHeight*document.body.offsetWidth)) + ' windows (at current window size)')">Document size</A>

Which produces:

Document size (MSIE4+)

You just bookmark the appropriate bookmarklet for your browser, although if you are adventurous, you could always create bookmarklets that handle both browers at once:

<A HREF="javascript:if (document.all) {alert('The document fills about ' + Math.round((document.body.clientHeight*document.body.clientWidth) / (document.body.offsetHeight*document.body.offsetWidth)) + ' windows (at current window size)')} else {alert('The document fills about ' + Math.round((document.height*document.width) / (innerHeight*innerWidth))+' windows (at current window size)')}">Document size</A>

Which produces:

Document size (MSIE4+ and NN4)

Conclusion

As Steve himself says "the limit on the number of characters [in a bookmark] is difficult to answer", although "Netscape on Macintosh will not accept bookmarks longer than 507 characters, and may have trouble with bookmarks longer than 255 characters." Currently Steve uses a maximum of 256 characters for all the bookmarklets at Bookmarklets.com. Although he hopes to be able to extend this self imposed limit based on feedback received to 1000, 2000 and then perhaps 4000 characters.

This article has only been a short introduction into the use of bookmarklets. Bookmarklets can be used to scroll through a document, hide and display images, alter the text font and color (MSIE4+ only), manipulate selected regions of text in the document, examine and manipulate the links in a page, manipulate windows - they are limited only by your own imagination.

My personal favourite is the following simple bookmarklet that resizes the window to 640x480 pixels (so that I can check what a page looks like at a smaller resolution):

<A HREF="javascript:resizeTo(640,480)">Resize (640x480)</A>

Which produces:

Resize (640x480)

Simple, but extremely effective.

I would strongly suggest visiting the Bookmarklets.com web site run by Steve Kanga, as there are over 150 bookmarklets just waiting to be bookmarked.

Sourced from LucDesk

Bookmarklets are links, but they do not link to web pages, they link to a simple script. To keep a bookmarklet, just bookmark it or drag it to your links bar. (Please note: Not all bookmarklets work on all browsers.)

Sourced from Woodster.com

Site Data

Netcraft...
Alexa Snapshot...
Google Related...
Whois...
Cookie?

Validate Site

W3C HTML Validator...
W3C CSS Validator...

Selected Text

Search Google...
Define...
Thesarus...
Grab...

Manipulate Page

Grayscale the page
Missing ALT Tags
Loose CSS
Zoom +
Zoom -
Turn on Borders
Page Weight
Show DIVs
Page Freshness
Analyze Images
Page Weight & Speed...
View CSS...
View Scripts...
View Graphics...

Misc

Resize
Next Blog

Bookmarklets/Favelets that work in Safari from Andy Budd

Amazon Bookmarklets

General Web Surfing

Web Development

SEO

Bookmarklets for Opera sourced from Phil Burns

Navigation

Open all Links in New Windows Opens all the links on the page in new windows and sends them to the background
Split Frames into Windows The windows will have the original frame size : from - bookmarklets.com.
Open Previous in New Window Only works if the Previous is in the same domain
Open Next in New Window Only works if the Next is in the same domain
from - Me.

Searching

Search this Domain. Very cool. Promts for a string, then does a Google advanced search in current domain.
Search ODP (New Window) from - ODP (dmoz.org) editors bookmarklets.
Search ODP in Background from - Phil Burns.
Search Hotbot (New Window) from - Rijk Van Geijtenbeek.
Links To this Page - AltaVista from - Rijk van Geijtenbeek.
Search for current page in www.archive.org from - Tobias Boyd.
Search google groups (New window) from - An opera.general poster I think

Checking Code Validity

Validate at WDG from - Rijk van Geijtenbeek.
Validate HTML at W3C from - Rijk van Geijtenbeek.
Validate HTML at W3C (In Background) from - Me :).
Validate all frames HTML W3C from - Me.
Validate CSS for page at W3C from - Phil Burns. Finally my own one :)
Validate CSS for page at W3C (In Background) from - Phil Burns. Another :)
Validate all frames CSS W3C from - Me.
Validate HTML & CSS at W3C (In Background) Opens two windows from - Phil Burns. Another :)

Page Data

Document Info Very nice... shows URL, hostname, the URLs of all frames (clickable), modification date, referrer, hash (both if provided only), lists all links and all images (both clickable), all in a new popup window. By - Roland Reck.
');write('

URL

',thiswin.document.URL,'

Hostname

',thiswin.document.location.hostname); write('

Frame URLs

'); var pw=thiswin.parent;var i = 0;while (i ',aXz,'
');}; {write('

Last modified

',thiswin.document.lastModified,'

Referrer

',thiswin.document.referrer,'

Cookie

',thiswin.document.cookie,'

Hash

',thiswin.document.location.hash,'

Links

');};var i = 0;while(i',aXz,'
');};{write('

Bilder

');}; var i =0;while(i',aXz,'
');};void(close())}">Document Info 2 Similar to the above but re-written by Roland for Opera 7 Read Cookie for Site from - bookmarklets.com I think.
Check Document Last Modified from - Maurizio Berti & Rijk van Geijtenbeek.
Who is from - Jesse Ruderman
Check site server from - Jesse Ruderman
Show HTTP headers from - Jesse Ruderman

Window widgets

Resize Window to 1024 x 768 Me.
Resize Window to 800 x 600 Me.
Resize Window to 640 x 480 Me.

Miscellaneous

Google Translate (English) from - Partially Correct
List Email Links from - bookmarklets.com Number of Links from - bookmarklets.com Go To Random Link from Page from - ODP (dmoz.org) editors bookmarklets.
List All Links on Page from - ODP (dmoz.org) editors bookmarklets.
Send Location This one may be of particular interest to those that want to send pages by email. from - ODP (dmoz.org) editors bookmarklets.
AutoFill Anonymous Fills out forms as anonymous.
from - ODP (dmoz.org) editors bookmarklets.
Bookmarklets Editor Creates a window to make and test your own bookmarklets in.
from - ODP (dmoz.org) editors bookmarklets.
Show All Images in New Window - Modified from bookmarklets.com
PAS Complaint - Send a complaint about a webpages code to all mailto links on a page ;-) from - Me

Bookmarklets from Centricle

query web tools

There's nothing particularly innovative here, just some things I threw together for my own convenience. They simply query existing tools on the Web directly from the browser, so if you find them to be useful, drag to your browser's toolbar & enjoy.

They should all work in for IE 5 & up and Mozilla, on both Mac & Windows.

Search via Prompt:

Search for Selected:

Webdev Tools:

Dev Tools via Prompt:

Bookmarklets from Sean Willson

  • favelets — i know i’m behind the curve a bit on favelets but i realized this past week all of the web work i was doing and i could have been doing a few of the things a lot easier. so i went about reorganizing my bookmarks, creating some tools, searching online for favelets to ease my web development. here are the ones i came up with. i don’t claim to have written any of these (except fixing the post to movable type to get it to work in safari). in case you don’t know what a favelet is, it’s a bit of javascript code that you can put in your bookmarks to perform some action in your web browser. for example you can select a word in a webpage and then just click the favelet and have it open a new web browser window to dictionary.com to define the word. anyhow, here are the ones that i’m found useful:

    Bookmarklets from Squarefree

    Bookmarklets from Tantek

    Authoring

    Multivalidator: HTML, CSS & HREFs all in one.

    HTML

    CSS

    Screen sizes

    Learning

    CSS

    '+r;st += '/* Style Rules For '+document.location+' */'+r+r;function appendRules(ti,ss) {st += '/* '+ti+' */'+r+r;var j=0;for (j=0;j
    
    
    Hosted by www.Geocities.ws

    ';var w = window.open('about:blank',whn,'menubar,resizable,scrollbars');w.document.write(st);w.document.close();w.focus();void(19981027);">View style rules
    ';for (j=0;j';}for (j=0;j'; } t+='
    
    
    Hosted by www.Geocities.ws

    '; var w = window.open('about:blank',whn+sn,'menubar,resizable,scrollbars');w.focus();w.document.write(t);w.document.close();}else if (s.owningElement.tagName == 'LINK'){sn++;ln++;var w = window.open(s.href,whn+sn,'status,location,menubar,resizable,scrollbars');if (tt!='' && tt!=undefined) w.document.title = tt;w.document.createStyleSheet('');w.document.styleSheets[0].addRule('BODY','background:white;color:black;font:9pt FixedSys,Monaco,monospace;margin:3px 4px');w.document.styleSheets[0].addRule('PRE','background:white;color:black;font:9pt FixedSys,Monaco,monospace');w.focus();}}void(19981020);">View style sheets

    HTTP

    Scripts etc.

    ';t+=s.outerHTML; var w = window.open('about:blank',whn+sn,'menubar,resizable,scrollbars');w.document.write(t);w.document.close();w.focus();}else{sn++;ln++;var w = window.open(s.src,whn+sn,'status,location,menubar,resizable,scrollbars');if (tt!='' && tt!=undefined) w.document.title = tt;w.document.createStyleSheet('');w.document.styleSheets[0].addRule('BODY','background:white;color:black;font:9pt FixedSys,Monaco,monospace;margin:3px 4px');w.document.styleSheets[0].addRule('PRE,PLAINTEXT','background:white;color:black;font:9pt FixedSys,Monaco,monospace');w.focus();}}void(19981030);"><span>View scripts</span></a> <a id="viewimages" class="favelet" title="Only works in IE5/Mac. Working on a fix for IE/Windows..." href="javascript:if (false)void('View images script by Tantek Celik - modified 2003.02.11');var n = (window.location.toString().replace(/[^a-z0-9]/gi,'_'))+'_im';var sn = 0,ud,i=0,r='\r';var ss = r;l=document.images.length;if (l==0) alert('No images to see here. Move along.');else for (i=0;i<l;i++){var s = document.images[i];var u = s.src;if (u!='' && u!=ud && ss.indexOf(r+u+r)==-1){ ss+=u+r;sn++;var w=window.open(s.src,n+sn,'height='+Math.max(s.height,32)+',width='+Math.max(s.width,32)+',status=no,location,menubar,resizable,scrollbars');w.focus();}}void(20030211);"><span>View images</span></a> </div> <h3>Reading</h3> <h3 id="translation">Translation</h3> <div class="faveletgroup"> <a id="fr2en" class="favelet" title="Babelfish translate the current page from French to English." href="javascript:void(document.location='http://babelfish.altavista.com/babelfish/urltrurl?url='+escape(document.location)+'&lp=fr_en&tt=url')"> <span>Babelfish French to English</span> </a> <a id="de2en" class="favelet" title="Babelfish translate the current page from German to English." href="javascript:void(document.location='http://babelfish.altavista.com/babelfish/urltrurl?url='+escape(document.location)+'&lp=de_en&tt=url')"> <span>Babelfish German to English</span> </a> <a id="es2en" class="favelet" title="Babelfish translate the current page from Spanish to English." href="javascript:void(document.location='http://babelfish.altavista.com/babelfish/urltrurl?url='+escape(document.location)+'&lp=es_en&tt=url')"> <span>Babelfish Spanish to English</span> </a> <a id="it2en" class="favelet" title="Babelfish translate the current page from Italian to English." href="javascript:void(document.location='http://babelfish.altavista.com/babelfish/urltrurl?url='+escape(document.location)+'&lp=it_en&tt=url')"> <span>Babelfish Italian to English</span> </a> <a id="ja2en" class="favelet" title="Babelfish translate the current page from Japanese to English." href="javascript:void(document.location='http://babelfish.altavista.com/babelfish/urltrurl?url='+escape(document.location)+'&lp=ja_en&tt=url')"> <span>Babelfish Japanese to English</span> </a> </div> <h3>Enhanced User Interface</h3> <div class="faveletgroup"> <a class="favelet" title="Works fine in IE5/Mac. There have been unconfirmed reports that this favelet may have problems when run from the Links toolbar in IE6/Windows. I'm looking into it..." href="javascript:if (false)void('Choose style sheet... script (C)1998-2001 Tantek Celik - last modified 2001.09.13');var undefined,i=0;var sheets = ',',options = '<OPTION selected>document default';for (i=0;i<document.styleSheets.length;i++){var s = document.styleSheets[i];var tt = s.owningElement.title;if (tt != '' && tt != undefined){if (sheets.indexOf(','+tt+',')==-1) {sheets += tt+',';options += '<OPTION>'+tt;}}}var ds = '<!DOCTYPE HTML PUBLIC %22-//W3C//DTD HTML 4.0 Transitional//EN%22 %22http://www.w3.org/TR/REC-html40/loose.dtd%22><HTML> <!-- ARCHIVE by GEOCITIES.WS --> <HEAD><TITLE>Choose style sheet</TITLE><STYLE>SELECT{width:144px; border:medium solid #339;background:#DDD;font:menu} BODY{overflow:hidden;margin:0;text-align:center;background:#CCC} .h{position:absolute;right:1px;top:1px;width:1em;text-align:right;font:10px Avant Garde,Chicago,Times,Arial,serif;text-decoration:none}</STYLE><SCRIPT>function choosess(tt) { var undefined; var d = window.opener.document; for (i=0; i<d.styleSheets.length; i++) { var s = d.styleSheets[i]; var ti=s.owningElement.title; if (ti!=\'\' && ti!=undefined && ti!=tt) s.disabled = true; else s.disabled=false; }}</SCRIPT></HEAD><BODY><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <CENTER>';ds += '<BR><SELECT ID=S1 SIZE=4 ONKEYPRESS=\'var k = event.keyCode; if (k==13 || k==3 || k==27) { window.close();}; \' ONCHANGE=\'if (this.selectedIndex!=-1) choosess(this.options[this.selectedIndex].text);\'>'+options+'</SELECT><BR>';ds += '<a href=http://au.share.geocities.com/'http://favelets.com//' target=help class=h>@</a><br>';ds += '</CENTER></BODY> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </HTML> ';var w = window.open('about:blank','ChooseStyleSheet','height=90,width=164');w.document.write(ds);w.document.close();w.focus();w.document.getElementById('S1').focus();void(19981023);"> <span>Choose style sheet</span> </a> <span class="note">The "Choose style sheet" favelet provides users the opportunity to select an alternate style sheet. See the <a href="../CSS/Examples/codeisfreespeech.html">Alternate style sheets example</a> for more information about alternate style sheets. </span> </div> </div> <h4>Bookmarklets from <a href="http://www.malevolent.com/downloads/">Malevolent Designs</a></h4> <h3>zoom lens</h3> <p>(Internet Explorer 5.5 upwards required)</p> <ul> <li><a href="javascript:void(document.body.style.zoom='50%')">50% zoom</a></li> <li><a href="javascript:void(document.body.style.zoom='100%')">100% zoom</a> (reset to default)</li> <li><a href="javascript:void(document.body.style.zoom='200%')">200% zoom</a></li> <li><a href="javascript:void(document.body.style.zoom=''+100/640*parseInt(document.body.clientWidth)+'%')">Make 640px wide page fill browser</a></li> <li><a href="javascript:void(document.body.style.zoom=''+100/800*parseInt(document.body.clientWidth)+'%')">Make 800px wide page fill browser</a></li> </ul> <h3>validation</h3> <ul> <li><a href="javascript:void(window.open('http://validator.w3.org/check?uri='+escape(document.location.href)))">Validate page (<acronym title="World Wide Web Consortium">W3C</acronym>)</a></li> </ul> <h3>accessibility</h3> <ul> <li><a href="javascript:void(window.open('http://ugweb.cs.ualberta.ca/~gerald/lynx-me.cgi?url='+escape(document.location.href)+';list;message=off'))">Text-only browser (lynx-me)</a></li> <li><a href="javascript:void(document.body.style.filter='gray()')">Total colourblindness</a> (IE5 Win)</li> <li><a href="javascript:void(document.body.style.filter='alpha(opacity=20) gray() blur(strength=3, add=0, direction=45)')">Ultimate legibility test!</a> (IE5 Win)</li> </ul> <h4>Bookmarklets from <a href="http://dooyoo-uk.tripod.com/bookmarklets2.html">Dooyoo-uk</a></h4> <p> <A HREF="javascript:r4NSy6bU=document.selection.createRange();EhV3eT8s=r4NSy6bU.text.replace(/\s/g,' ').replace(/ {2,}/g,' ').replace(/ $|^ /g,'').split(' ');if(EhV3eT8s!=''){alert(EhV3eT8s.length+' words in selected text')}else{alert('Select some text first!')}">Count words in selected text</A> <B><FONT COLOR="#FF0000">Internet Explorer Only Version</FONT></b>. Highlight some text on a page and then activate this bookmarklet to count the words in the selection. <em>There are 8 words in this emphasised text</em>.</p> <p> <A HREF="javascript:WN7z=open('','Z6','width=400,height=200,scrollbars,resizable,menubar');DL5e=document.links;with(WN7z.document){write('<base%20target=_blank>');for(lKi=0;lKi<DL5e.length;lKi++){write(DL5e[lKi].toString().link(DL5e[lKi])+'<br><br>')};void(close())}">List all links on page in new window</A> <br> As you'd expect, this opens a new, little window in which are listed all the links on the page you are viewing when you activate this bookmarklet. Clicking on any of the links there will open that link in another new window</p> <p><a href="javascript:ulBV3pQy=document.selection.createRange().text;if(ulBV3pQy!=''){void(window.open('http://'+ulBV3pQy.replace(/\042/g,'').replace(/\047/g,'')));}else{alert('Select text on page like:\n www.domain.com...')}">Open selected url address (no http:// bit)</a> <B><FONT COLOR="#FF0000">IE Only</FONT></b><br> This is a handy little bookmarklet that allows you to select an address in text, where it hasn't actually been made as a link (e.g. www.dooyoo.co.uk), and open it in a new window. Just highlight the address, NOT including the http:// bit if present, and select this bookmarklet from your favourites.</p> <p>[Important Note: Where a url is written in full, including the http:// as in http://<font color="#FFFF99">www.dooyoo.co.uk</font> you would only highlight the bit I've coloured yellow in this example. It does not matter if you accidentally highlight an extra space at the end.]</p> <p><b><A HREF="javascript:Qr=document.selection.createRange().text;if(!Qr){void(Qr=prompt('dooyoo product search...',''))}if(Qr)void(window.open('http://www.dooyoo.co.uk/servlets/HomeConnector?sessionID=&template=websearch_results&type=main&keyword='+escape(Qr)+'&x=13&y=12'));">Dooyoo Web Search</A></b> <br> This bookmarklet may be the most useful of all. This will search the internet for any word(s) you highlighted, or any words you enter in the 'prompt' box if you didn't highlight any text. It makes searching online much faster and easier.</p> <p> <A HREF="javascript:Qr=document.selection.createRange().text;if(!Qr){void(Qr=prompt('Keywords...',''))}if(Qr)void(window.open('http://google.com/search?query='+escape(Qr)+'&num=10'));">Search Google</A> <br> Activate this bookmarklet after highlighting words you want to search for, or else enter your search words in the dialog that appears, and a new window will open directly onto the google.com search results. <i>This can be an excellent tool for spotting plagiarism, by highlighting a sentence and then using this bookmarklet to search for matches.</i></p> <p> <A HREF="javascript:Qr=document.selection.createRange().text;if(!Qr){void(Qr=prompt('Keywords...',''))}if(Qr)void(window.open('http://www.alltheweb.com/search?cat=web&lang=any&query='+escape(Qr) ));">Search FAST / AllTheWeb</A> <br> Activate this bookmarklet after highlighting words you want to search for, or else enter your search words in the dialog that appears, and a new window will open directly onto the FAST / alltheweb.com search results.</p> <p><b><A HREF="javascript:Qr=document.selection.createRange().text;if(!Qr){void(Qr=prompt('dooyoo member search...',''))}if(Qr)void(window.open('http://uk.altavista.com/q?pg=q&what=web&kl=XX&q='+escape(Qr) ));">Search AltaVista</a></b> <br> Activate this bookmarklet after highlighting words you want to search for, or else enter your search words in the dialog that appears, and a new window will open directly onto the Altavista.co.uk search results.</p> <p> <A HREF="javascript:void(top.location.href='http://cgi.netscape.com/cgi-bin/rlcgi.cgi?URL=''+escape(top.location.hostname)">Find Related Pages indexed in Google</A> <br> This uses that great "what's related" search feature in Google to look up pages related to the one you are viewing when you use the bookmarklet.</p> <h4>Bookmarklets from <a href="http://www.accessify.com/tools-and-wizards/accessibility-checking-favelets.asp">Accessify</a></h4> <div class="favelet"><a name="acrobot" id="acrobot"></a><a href="javascript:Q=document.selection?document.selection.createRange().text:document.getSelection();void(window.open('http://www.accessify.com/tools-and-wizards/acrobot/basic.asp?text='+escape(Q),'acrobot','scrollbars=yes,width=800,height=700,left=0,top=0,resizable=yes,status=yes'));">Convert abbreviations and acronyms using Acrobot</a> <br /> Highlight some text on your web page (or perhaps some text that you are entering into a <code>&lt;textarea&gt;</code>, for example a Blogger or MovableType post), then run this favelet - the highlighted text will be passed through the <a href="acrobot/default.html" title="Acrobot - abbreviation and acronym convertor">Acrobot</a>, converting all your acronyms and abbreviations. Please note: this has been tested in <abbr title="Internet Explorer 5" lang="en">IE5</abbr> and <abbr title="Internet Explorer 6" lang="en">IE6</abbr> on Windows but does not always appear to work with <code>&lt;textarea&gt;</code>s in Mozilla (although any other text highlighted on the page does work OK). <br /> <span class="smallprint">[Thanks to <a href="http://www.photomatt.net/">Matt</a> for providing!]</span></div> <div class="favelet"><a href="javascript:var t=document.getElementsByTagName('div');for(i=0;i<t.length;i++){void(t[i].style.padding='5px;');b=t[i].id;h=t[i].innerHTML;void(t[i].innerHTML='<p style=\'color:red;font-weight:bold;\'>'+b+'</p>'+h);void(t[i].style.border='2px solid red');}">Show and label divs with ids</a> <br /> When designing a web page, you will often use ids in <code>&lt;div&gt;</code> tags to enable precise positioning using Cascading Style Sheets. This favelet highlights ALL &lt;div&gt; tags with a red border and labels each one with an id. </div> <div class="favelet"><a href="javascript:var t=document.getElementsByTagName('div');for(i=0;i<t.length;i++){void(t[i].style.padding='5px;');b=t[i].className;h=t[i].innerHTML;void(t[i].innerHTML='<p style=\'color:red;font-weight:bold;\'>'+b+'</p>'+h);void(t[i].style.border='2px solid red');}">Show and label divs with classes</a><br /> Exactly as above, but this time only <code>&lt;div&gt;</code>s that have a class are labelled. </div> <div class="favelet"> <a href="javascript:alert(document.compatMode);"><acronym title="Internet Explorer"></acronym></a><a href="javascript:alert(document.compatMode);"><acronym title="Internet Explorer">IE</acronym> compatibility mode</a> <br /> Not quite sure about how you might use this - we have yet to read up on this document property (document.compatMode). Only works for Internet Explorer. <br /> <span class="smallprint">[suggested by Jeff Rhodes at the <a href="http://www.iaccorp.com/" target="_blank">Internet Association Corporation</a>]</span></div> <div class="favelet"> <a name="showalts"></a><a href="javascript:var g=document.images;var s='<b>Alt attributes: '+location.href+'</b><table border=1 style=\'font:x-small verdana\'><tr><th>Image</th><th>Alt attribute</th></tr>';for (i=0;i<g.length;i++){s+='<tr>';s+='<td><img src='+g[i].html'><br />'+g[i].src+' </td>';s+='<td>'+g[i].alt+'</td>';s+='</tr>';}s+='</table>';var aw=window.open('','aw','');aw.document.open();aw.document.write(s);aw.document.close();">Alt attributes - show all</a> <br /> Displays all images on the page, alongside their alt attributes - useful for checking that alt attributes match up with image. </div> <div class="favelet"> <a name="missingalts"></a><a href="javascript:var g=document.images;var s='';var n=0;for (i=0;i<g.length;i++){if (g[i].alt.length==0){s+='<tr>';s+='<td><img src='+g[i].html'><br />'+g[i].src+' </td>';s+='</tr>';n+=1;}}if (n!=0){s='<b>Missing alt attributes: '+location.href+'</b><table border=1 style=\'font:x-small verdana\'><tr><th>Image</th></tr>'+s+'</table>';var mw=window.open('','mw','');mw.document.open();mw.document.write(s);mw.document.close();}else{alert('No images are missing alts in this document');}">Alt attributes - images missing alt attribute</a> <br /> Displays all images on the page that do not have any alt attributes - useful accessibility checking tool. Remember, an image such as a spacer gif or an image used as decoration (such as a lined pattern) should use alt=" " (with a space between quotes). </div> <div class="favelet"> <a href="javascript:for (i=0;i<document.styleSheets.length;i++) {void(document.styleSheets.item(i).disabled=true);}">Disable stylesheets</a> <br /> Does exactly what it says on the tin ... </div> <div class="favelet"> <a href="javascript:for (i=0;i<document.styleSheets.length;i++){void(document.styleSheets.item(i).disabled=false);}">Enable stylesheets</a> <br /> Does exactly what it says on the tin (assuming you've just used the 'disable stylesheets' favelet) ... <br /> <span class="smallprint">[suggested by Heather James]</span></div> <div class="favelet"> <a href="javascript:var t=document.getElementsByTagName('th');for (i=0;i<t.length;i++){void(t[i].style.border='1px solid yellow');void(t[i].style.padding='6px');void(t[i].style.color='yellow');void(t[i].style.background='black');}">Show table headings &lt;th&gt;</a> <br /> Highlights table headings (yellow text on black background) - use this to see if table headings really are &lt;th&gt; tags or whether plain old &lt;td&gt;s were used instead. </div> <div class="favelet"> <a href="javascript:var g=document.images;var s='<b>Images list: '+location.href+'</b><table border=1 style=\'font:x-small verdana\'><tr><th>Image</th><th>Size (kb)</th><th>Dimensions</th></tr>';for (i=0;i<g.length;i++){var fs=(parseInt(g[i].fileSize)/1000);s+='<tr>';s+='<td><img src='+g[i].html'><br />'+g[i].src+' </td>';s+='<td>'+fs+'</td>';s+='<td>'+g[i].height+'(h) '+g[i].width+'(w) px</td>';s+='</tr>';}s+='</table>';var iw=window.open('','iw','');iw.document.open();iw.document.write(s);iw.document.close();">Images list</a> <br /> Displays a list of all images on the page, excluding invisible spacer pixels. Also shows the file size for each image alongside the image </div> <div class="favelet"> <a name="linktitles"></a><a href="javascript:var l=document.links.length;var s='';for (i=0;i<l;i++){var lk=document.links[i];s+='<tr valign=top>';s+='<td>' + lk.innerHTML + ' </td>';s+='<td>' + lk.title + ' </td>';s+='<td><a href='+lk.html'>' + lk.href + '</a></td>';s+='</tr>';}s='Links for: '+document.location.href+'<table border=1 style=\'font:x-small verdana\'><tr valign=top><th>Text</th><th>Title</th><th>URL</th></tr>'+s+'</table>';var lw=window.open('', 'lw', '');lw.document.open();lw.document.write(s);lw.document.close();">Links - titles and hrefs</a> <br /> Shows all links on the page and the contents of the link (text and/or images). Also shows title attributes of each link (if present - very useful for assessing how accessible your links are. </div> <div class="favelet"> <a href="javascript:var a=document.styleSheets;var s='<div style=\'font:x-small verdana\'><h1>Style sheet info for '+location.href+'</h1>';for (i=0;i<a.length;i++){var ss=a[i];s+='<h2>Style Sheet '+(i+1)+': '+ss.href+'</h2>';s+='<h2>Media: '+ss.media;s+=' | Title: '+ss.title+'</h2>';s+='<h3>Rules:</h3>'+ss.cssText;s+='<hr>';}var a=s.split('\n');s=a.join('<br />');s=s.toLowerCase()+'</div>';var cw=window.open('', 'cw', '');cw.document.open();cw.document.write(s);cw.document.close();">Show Style sheets</a> <br /> Shows the style rules, as parsed by the browser, in a new window. </div> <div class="favelet"> <a href="javascript:for(l=0;l<document.all.length;l++){if(document.all[l].tagName=='A'){with(document.all[l].style){if(backgroundColor=='lime'){void(backgroundColor=document.bgColor)}else{void(backgroundColor='lime')}}}}">Show links</a> <br /> Highlights links on the page in glorious garish lime</div> <div> <p><a href="#" onclick="importFavelets();return false;">Import all these favelets in one go</a></p> <h3>Other favelets</h3> </div> <div class="favelet"> <a href="javascript:var t=document.getElementsByTagName('td');for (i=0;i<t.length;i++){void(t[i].style.border='1px solid navy');void(t[i].style.padding='6px');void(t[i].style.color='navy');void(t[i].style.background='#E5E5E5');}">Show table cells &lt;td&gt;</a> <br /> Highlights table cells - changes border colour, background/text colour and adds padding to cell contents. </div> <div class="favelet"> <a href="javascript:var t=document.getElementsByTagName('div');for (i=0;i<t.length;i++){void(t[i].style.border='2px solid red');}">Show all DIVs</a> <br /> Highlights all &lt;div&gt; tags on the page with a 2-pixel red border. </div> <div class="favelet"> <a href="javascript:var s='<h1>Page statistics for: ' + location.href + '</h1>';s=s+'<table border=1 cellpadding=4 cellspacing=0>';s=s+'<tr valign=top><td>Page <b>title</b>: </td><td>'+document.title+' </td></tr>';s=s+'<tr valign=top><td><b>Created</b> on: </td><td>'+document.fileCreatedDate +' </td></tr>';s=s+'<tr valign=top><td>File <b>last modified</b>: </td><td>'+document.lastModified+' </td></tr>';s=s+'<tr valign=top><td>File <b>size</b>: </td><td>'+((parseInt(document.fileSize))/1000)+' KB </td></tr>';s=s+'<tr valign=top><td>Number of <b>images</b>: </td><td>'+document.images.length+' </td></tr>';s=s+'<tr valign=top><td>Number of <b>links</b>: </td><td>'+document.links.length+' </td></tr>';s=s+'<tr valign=top><td>Linked <b>styleSheets</b>: </td><td>';for (css=0;css<document.styleSheets.length;css++){if (document.styleSheets[css].href!='') s=s+'<li>'+document.styleSheets[css].href;}s=s+' </td></tr>';s=s+'<tr valign=top><td><b>Domain</b>: </td><td>'+document.domain+' </td></tr>';s=s+'<tr valign=top><td><b>Character</b> set: </td><td>'+document.charset+' </td></tr>';s=s+'<tr valign=top><td>Linked <b>script files</b>: </td><td>';for (is=0;is<document.scripts.length;is++){if (document.scripts[is].src!='') s=s+'<li>'+document.scripts[is].src;}s=s+' </td></tr>';s=s+'<tr valign=top><td>Number of <b>Forms</b>: </td><td>'+document.forms.length;for (i=0;i<document.forms.length;i++){s=s+'<li>name: '+document.forms[i].name;s=s+' || action: '+document.forms[i].action;}s=s+' </td></tr>';s=s+'</table>';var statswin = window.open('', 'statswin', 'menubar,scrollbars,resizable,height=600,width=790');statswin.document.open();statswin.document.write('<html> <!-- ARCHIVE by GEOCITIES.WS --> <head><title>Page Stats for '+location.href+'</title><style>*{font-family:verdana;font-size:x-small;}</style></head><body><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> '+s+'</body> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </html>');statswin.document.close();">General page stats</a> <br /> General page statistics, including when the page was last updated, what forms and styleSheets are linked, how many images, how many links and so on. </div> <div class="favelet"> <a href="javascript:var s='<h1>Form details</h1>';var f=document.forms;s+='<table border=1 style=\'font:x-small verdana\'>';for(i=0;i<f.length;i++){s+='<tr><th colspan=3>Name='+f[i].name+'</th></tr>';s+='<tr><th>Name</th><th>Val</th><th>Type</th></tr>';for(e=0;e<f[i].length;e++){s+='<tr><td>'+f[i].elements[e].name+' </td>';s+='<td>'+f[i].elements[e].value+'</td>';s+='<td>'+f[i].elements[e].type+'</td></tr>';}}s+='</table>';var f=window.open('', 'f', '');f.document.open();f.document.write(s);f.document.close();">Form fields and values</a> <br /> Displays all form attributes, for every form on a page - useful debugging tool. </div> <div class="favelet"> <a href="javascript:var s='';var mt = document.getElementsByTagName('meta');for (i=0;i<mt.length;i++){s=s+'<tr valign=top style=font-size:xx-small;font-family:verdana,helvetica,sans-serif>';s=s+'<td>'+mt[i].name+' </td>';s=s+'<td>'+mt[i].content+' </td>';s=s+'</tr>';}s='Metas for: <b>'+document.location.href+'</b><p><table border=1 style=\'font:x-small verdana\'><tr><th>Meta Name</th><th>Content</th></tr>' + s+'</table>';var m=window.open('', 'm', '');m.document.open();m.document.write(s);m.document.close();">Meta data</a> <br /> Shows all meta tag data for the page (in case you are unable to view source, or source code is messy!) </div> <div class="favelet"> <a href="javascript:var g=document.images;var sc=document.scripts;var css=document.styleSheets;var s='<strong>Dependencies for ' + location.href + '</strong><p>';s+='<table border=1>';s+='<tr><td><strong>Dependency</strong></td><td><strong>Type</strong></td><td><strong>File Size (kb)</strong></td></tr>';for (i=0;i<sc.length;i++){if (sc[i].src.length>0){s+='<tr>';s+='<td>'+sc[i].src+'</td>';s+='<td>Script</td>';s+='<td>N/A</td>';s+='</tr>';}}for (i=0;i<css.length;i++){if (css[i].href.length>0){s+='<tr>';s+='<td>'+css[i].href+'</td>';s+='<td>Style Sheet</td>';s+='<td>N/A</td>';s+='</tr>';}}for (i=0;i<g.length;i++){if (g[i].src.indexOf('pixel.html')==-1){s+='<tr>';s+='<td>'+g[i].src+'</td>';s+='<td>Image</td>';s+='<td>'+g[i].fileSize+'</td>';s+='</tr>';}}s+='</table>';document.open();document.write(s);document.close();">Page dependencies</a> <br /> Lists page dependencies, including external script files (.js), external style sheets (.css) and images. Please note: this script is over the 508 character limit and may not work on all browsers. </div> <div class="favelet"> <a href="javascript:var t=document.getElementsByTagName('table');for (i=0;i<t.length;i++){void(t[i].style.border='2px solid black');}">Show tables</a> <br /> Dead simple - just places a solid black border around any table in the current document (but not cells within the table) </div> <h4>Bookmarklets from <a href="http://www.pixy.cz/blog/favelets/">Pixy</a></h4> <h3 class="itemgrouptitle">My Favorite Favelets</h3> <div class="item"> <h4>Checking the Code</h4> <p>Following favelets send the displayed document to another website which will proccess it (in new window).</p> <ul> <li><a href="javascript:void(open('http://validator.w3.org/check?uri='+escape(document.location)))">W3C validator - validate (X)HTML code of displayed document</a></li> <li><a href="javascript:void(open('http://www.htmlhelp.com/cgi-bin/validate.cgi?url='+escape(document.location)))">WDG validator - validate (X)HTML code of displayed document</a></li> <li><a href="javascript:void(open('http://jigsaw.w3.org/css-validator/validator?uri='+escape(document.location)))">W3C CSS validator - validate CSS code attached to displayed document</a></li> <li><a href="javascript:void(open('http://www.holovaty.com/tools/getcontentsize/?url='+escape(document.location)))">Get content size (holovaty.com)</a></li> <li><a href="javascript:void(open('http://www.delorie.com/web/lynxview.cgi?url='+escape(document.location)))">LynxView of the document</a> (by pixy)</li> <li><a name="dominspector" href="javascript:var%20DIW=window.open('');DIW.document.write('<html> <!-- ARCHIVE by GEOCITIES.WS --> <head><title>DOM%20inspector%20of%20'+window.document.title+'</title><style%20type=%22text/css%22>.obj{color:#600;text-decoration:underline;cursor:hand;cursor:pointer}</style></head><body><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <div%20id=%22bd%22></div></body> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </html>');DIW.document.close();DIW.SRC=window;inspect('window');DIW.focus();function%20inspect(o){function%20htStr(xx){var%20x=xx.toString();x.replace(/\&/g,'&amp;');x.replace(/\>/g,'&gt;');x.replace(/\</g,'&lt;');return%20x}var%20i,p,prp,s,s2,ms=new%20Array(),os=new%20Array(),ps=new%20Array(),df=false,nf=false;var%20tx='';var%20obj=eval(o);for(prp%20in%20obj){if(typeof(obj[prp])=='function'||typeof(obj[prp])=='object'&&obj[prp]==void(null))ms[ms.length]='<span%20class=%22obj%22%20onclick=%22SRC.inspect(\''+o+'.'+prp+'\')%22>'+o+'.'+prp+'();</span>';else%20if(typeof(obj[prp])=='object'){if(prp=='document')df=true;if(prp=='navigator')nf=true;if(prp.match('^[0-9]+$'))os[os.length]='<span%20class=%22obj%22%20onclick=%22SRC.inspect(\''+o+'['+prp+']\')%22>'+o+'['+prp+']</span>';else%20os[os.length]='<span%20class=%22obj%22%20onclick=%22SRC.inspect(\''+o+'.'+prp+'\')%22>'+o+'.'+prp+'</span>'}else%20if(obj[prp]){ps[ps.length]='<b>'+prp+'</b>%20=%20'+htStr(obj[prp])}}p=o.split('.');s='';s2='';for(i=0;i<p.length-1;i++){if(!s2)%20s2=p[i];else%20s2+='.'+p[i];s+='<span%20class=%22obj%22%20onclick=%22SRC.inspect(\''+s2+'\')%22>'+p[i]+'</span>'+'.'}s+=p[p.length-1];tx+='<h2>'+s+'</h2>';if(typeof(obj)=='function')tx+='<h4>Code:</h4>'+htStr(obj)+'';tx+='<h4>Objects:</h4>\n';if(o=='window'&&!df)os[os.length]='<span%20class=%22obj%22%20onclick=%22SRC.inspect(\''+o+'.document\')%22>'+o+'.document</span>';if(o=='window'&&!nf)os[os.length]='<span%20class=%22obj%22%20onclick=%22SRC.inspect(\''+o+'.navigator\')%22>'+o+'.navigator</span>';os.sort();tx+=os.join('<br>');tx+='';tx+='<h4>Properties:</h4>\n';ps.sort();tx+=ps.join('<br>');tx+='';tx+='<h4>Supported%20methods:</h4>\n';ms.sort();tx+=ms.join('<br>');tx+='';DIW.document.getElementById('bd').innerHTML=tx};if(false)void('DOM%20%inspector%20by%pixy%20at%20pixy.cz%2003-03-21');"><strong>Simple DOM inspector of the document</strong></a> NEW (by pixy)</li> </ul> <h4>Styles and Stylesheets</h4> <ul> <li><a href="javascript:var%20i=0;if(document.styleSheets.length>0){cs=!document.styleSheets[0].disabled;for(i=0;i<document.styleSheets.length;i++)%20document.styleSheets[i].disabled=cs;};void(cs=true);">Toggle (activate/deactivate) document's stylesheets</a> (by <a href="http://tantek.com/favelets/">Tantek &Ccedil;elik</a>)</li> <li><a href="javascript:if%20(false)void('View%20style%20sheets%20script%20by%20Tantek%20Celik%20-%20last%20modified%201998.10.20%20');var%20whn%20=%20(window.location.toString().replace(/[^a-z0-9]/gi,'_'))+'_ss';var%20imn%20=%200,ln%20=%200,isn%20=%200,sn%20=%200,undefined,i=0,j=0;for%20(i=0;i<document.styleSheets.length;i++){var%20s%20=%20document.styleSheets[i];var%20tt%20=%20s.owningElement.title;function%20imf(im)%20{var%20k=0;for%20(k=0;k<im.imports.length;k++)void(imf(im.imports[k]));sn++;imn++;var%20imt%20=%20'imported%20style%20sheet%20'+imn;var%20w%20=%20window.open(im.href,whn+sn,'status,location,menubar,resizable,scrollbars');w.document.title%20=%20imt;w.document.createStyleSheet('');w.document.styleSheets[0].addRule('BODY','background:white;color:black;font:9pt%20FixedSys,Monaco,monospace;margin:3px%204px');w.document.styleSheets[0].addRule('PRE','background:white;color:black;font:9pt%20FixedSys,Monaco,monospace');w.focus();}for%20(j=0;j<s.imports.length;j++){void(imf(s.imports[j]));}if%20(s.owningElement.tagName%20==%20'STYLE'){sn++;isn++;if%20(tt==''%20||%20tt==undefined)tt%20=%20'untitled%20inline%20style%20sheet%20'+isn;var%20t%20=%20'<HTML> <!-- ARCHIVE by GEOCITIES.WS --> <HEAD><TITLE>'+tt+'</TITLE></HEAD><BODY%20STYLE=\'background:white;color:black;font:9pt%20FixedSys,Monaco,monospace;margin:3px%204px\'><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <PRE%20STYLE=\'background:white;color:black;font:9pt%20FixedSys,Monaco,monospace\'>';for%20(j=0;j<s.imports.length;j++){t+='@import%20url('+s.imports[j].href+')<BR>';}for%20(j=0;j<s.rules.length;j++){t+=s.rules[j].selectorText%20+%20'%20{%20'%20+%20s.rules[j].style.cssText%20+%20'%20}%20<BR>';%20}%20t+='</BODY> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </HTML>';%20var%20w%20=%20window.open('about:blank',whn+sn,'menubar,resizable,scrollbars');w.focus();w.document.write(t);w.document.close();}else%20if%20(s.owningElement.tagName%20==%20'LINK'){sn++;ln++;var%20w%20=%20window.open(s.href,whn+sn,'status,location,menubar,resizable,scrollbars');if%20(tt!=''%20&&%20tt!=undefined)%20w.document.title%20=%20tt;w.document.createStyleSheet('');w.document.styleSheets[0].addRule('BODY','background:white;color:black;font:9pt%20FixedSys,Monaco,monospace;margin:3px%204px');w.document.styleSheets[0].addRule('PRE','background:white;color:black;font:9pt%20FixedSys,Monaco,monospace');w.focus();}}void(19981020);">Show style sheets content (will open new window[s])</a> (by <a href="http://tantek.com/favelets/">Tantek &Ccedil;elik</a>)</li> <li><a href="javascript:if%20(false)void('View%20style%20rules%20script%20by%20Tantek%20Celik%20-%20last%20modified%201998.10.27');var%20whn%20=%20(window.location.toString().replace(/[^a-z0-9]/gi,'_'))+'_sr';var%20imn%20=%200,ln%20=%200,isn%20=%200,undefined,r=String.fromCharCode(13),i=0,j=0;var%20st%20=%20'<HTML> <!-- ARCHIVE by GEOCITIES.WS --> <HEAD><TITLE>'+document.title+'%20Style%20Rules</TITLE></HEAD><BODY%20STYLE=\'background:white;color:black;font:9pt%20FixedSys,Monaco,monospace;margin:3px%204px\'><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <PRE%20STYLE=\'background:white;color:black;font:9pt%20FixedSys,Monaco,monospace\'>'+r;st%20+=%20'/*%20Style%20Rules%20For%20'+document.location+'%20*/'+r+r;function%20appendRules(ti,ss)%20{st%20+=%20'/*%20'+ti+'%20*/'+r+r;var%20j=0;for%20(j=0;j<ss.rules.length;j++){st+=ss.rules[j].selectorText%20+%20'%20{%20'%20+%20ss.rules[j].style.cssText%20+%20'%20}'+r;%20}st%20+=%20r+r;}function%20imf(im)%20{%20var%20k=0;for%20(k=0;k<im.imports.length;k++)void(imf(im.imports[k]));imn++;var%20imt%20=%20'external%20(imported)%20style%20sheet%20'+imn+':%20'+im.href;void(appendRules(imt,im));}for%20(i=0;i<document.styleSheets.length;i++){var%20s%20=%20document.styleSheets[i];var%20tt%20=%20s.owningElement.title;for%20(j=0;j<s.imports.length;j++){void(imf(s.imports[j]));}if%20(s.owningElement.tagName%20==%20'STYLE'){isn++;if%20(tt==''%20||%20tt==undefined)tt%20=%20'untitled%20inline%20style%20sheet%20'+isn;}else%20if%20(s.owningElement.tagName%20==%20'LINK'){ln++;if%20(tt==''%20||%20tt==undefined)tt%20=%20'persistent%20external%20(linked)%20style%20sheet%20'+ln;else%20if%20(s.owningElement.rel.toString().indexOf('alternate')==-1)tt%20=%20'preferred%20external%20(linked)%20style%20sheet%20\''+tt+'\'';else%20if%20(true)tt%20=%20'alternate%20external%20(linked)%20style%20sheet%20\''+tt+'\'';tt%20+=%20':%20'+%20s.href;}void(appendRules(tt,s));}st+=r+'</BODY> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </HTML>';var%20w%20=%20window.open('about:blank',whn,'menubar,resizable,scrollbars');w.document.write(st);w.document.close();w.focus();void(19981027);">Show style rules (will open new window[s])</a> (by <a href="http://tantek.com/favelets/">Tantek &Ccedil;elik</a>)</li> <li><a href="javascript:if%20(false)void('Choose%20style%20sheet...%20script%20(C)1998-2001%20Tantek%20Celik%20-%20last%20modified%202001.09.13');var%20undefined,i=0;var%20sheets%20=%20',',options%20=%20'<OPTION%20selected>document%20default';for%20(i=0;i<document.styleSheets.length;i++){var%20s%20=%20document.styleSheets[i];var%20tt%20=%20s.owningElement.title;if%20(tt%20!=%20''%20&&%20tt%20!=%20undefined){if%20(sheets.indexOf(','+tt+',')==-1)%20{sheets%20+=%20tt+',';options%20+=%20'<OPTION>'+tt;}}}var%20ds%20=%20'<!DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.0%20Transitional//EN%22%20%22http://www.w3.org/TR/REC-html40/loose.dtd%22><HTML> <!-- ARCHIVE by GEOCITIES.WS --> <HEAD><TITLE>Choose%20style%20sheet</TITLE><STYLE>SELECT{width:144px;%20border:medium%20solid%20#339;background:#DDD;font:menu}%20BODY{overflow:hidden;margin:0;text-align:center;background:#CCC}%20.h{position:absolute;right:1px;top:1px;width:1em;text-align:right;font:10px%20Avant%20Garde,Chicago,Times,Arial,serif;text-decoration:none}</STYLE><SCRIPT>function%20choosess(tt)%20{%20var%20undefined;%20var%20d%20=%20window.opener.document;%20for%20(i=0;%20i<d.styleSheets.length;%20i++)%20{%20var%20s%20=%20d.styleSheets[i];%20var%20ti=s.owningElement.title;%20if%20(ti!=\'\'%20&&%20ti!=undefined%20&&%20ti!=tt)%20s.disabled%20=%20true;%20else%20s.disabled=false;%20}}</SCRIPT></HEAD><BODY><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <CENTER>';ds%20+=%20'<BR><SELECT%20ID=S1%20SIZE=4%20ONKEYPRESS=\'var%20k%20=%20event.keyCode;%20if%20(k==13%20||%20k==3%20||%20k==27)%20{%20window.close();};%20\'%20ONCHANGE=\'if%20(this.selectedIndex!=-1)%20choosess(this.options[this.selectedIndex].text);\'>'+options+'</SELECT><BR>';ds%20+=%20'<a%20href=\'http://favelets.com/\'%20target=help%20class=h>@</a><br>';ds%20+=%20'</CENTER></BODY> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </HTML>%20';var%20w%20=%20window.open('about:blank','ChooseStyleSheet','height=90,width=164');w.document.write(ds);w.document.close();w.focus();w.document.getElementById('S1').focus();void(19981023);">Choose style sheet (if document contains alternate stylesheets)</a> (by <a href="http://tantek.com/favelets/">Tantek &Ccedil;elik</a>)</li> <li><a href="javascript:if(document.defaultView)var%20ps=new%20Array('font-size','font-family','font-weight','color','background-color','top','left');else%20var%20ps=new%20Array('fontSize','fontFamily','fontWeight','color','backgroundColor','top','left');var%20psc=ps.length,out='';var%20w=window.open('');w.document.write('<html> <!-- ARCHIVE by GEOCITIES.WS --> <head><title>Cascaded%20Styles%20of%20'+document.title+'</title></head><body%20style=\'background:white;color:black;font:small%20monospace\'><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <h1>Cascaded%20Styles</h1><p>Favelet%20made%20by%20<a%20href=\'http://pixy.cz/blogg/favelets/'>pixy</a></p><hr>');ES(document.childNodes,'');w.document.write('</body> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </html>');function%20ES(ch,nm){var%20i,j,nm2,o,s,e;if(ch)for(i=0;i<ch.length;i++){e=ch[i];if(e.nodeType==1&&e.nodeName!='HEAD'){nm2=e.nodeName;if(e.id)nm2+='.'+e.id;if(e.className)nm2+='.'+e.className;if(nm)nm2=nm+'%20&gt;%20'+nm2;o='';for(j=0;j<psc;j++){s='';if(document.defaultView)s=document.defaultView.getComputedStyle(e,null).getPropertyValue(ps[j]);else%20if(e.currentStyle)s=eval('e.currentStyle.'+ps[j]);if(s)o+='\t'+ps[j]+':%20'+s+';\n';}if(o)w.document.write(nm2+'%20{\n'+o+'\t}\n');ES(e.childNodes,nm2);}}};if(false)void('List%20%computed%20styles%20by%pixy%20at%20pixy.cz%2003-03-18');">List computed (cascaded) styles</a> [old] (by pixy)</li> <li><a name="cascadedstyles" href="javascript:var w=window.open('','','width=360,height=480,resizable=1');var wd=w.document;var prop=(document.defaultView)?'font-size':'fontSize';w.document.write('<html> <!-- ARCHIVE by GEOCITIES.WS --> <head><title>Cascaded Styles of '+document.title+'</title></head><body style=\'background:white;color:black;font:small monospace\'><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <h2>Cascaded Styles</h2><p>Favelet made by <a href=http://au.share.geocities.com/'http://pixy.cz/blogg/favelets/'>pixy</a></p>');w.document.write('<p><input type=\'text\' id=\'prop\' value=\''+prop+'\' />');w.document.write('<hr><pre id=\'props\'>');w.document.write('</body> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </html>');w.document.close();var wp=w.document.getElementById('props');Ev(document.childNodes);function ES(e){var o,s='',nm=e.nodeName;var p=w.document.getElementById('prop').value;if(e.id)nm+='#'+e.id;if(e.className)nm+='.'+e.className;if(document.defaultView)s=document.defaultView.getComputedStyle(e,null).getPropertyValue(p);else if(e.currentStyle)s=eval('e.currentStyle.'+p);o=nm+'<br>&darr; '+p+': '+s+'<br>';wp.innerHTML+=o;w.document.close()}function Ev(ch){var i,e;if(ch)for(i=0;i<ch.length;i++){e=ch[i];if(e.nodeType==1&&e.nodeName!='HEAD'){e.onmouseover=SS1;e.onmouseout=SS0;Ev(e.childNodes);}}}function SS1(){if(w)ES(this);return false}function SS0(){if(w)wp.innerHTML=''}void('List%20%computed%20styles%20by%pixy%20at%20pixy.cz%2003-04-23');"><strong>List computed (cascaded) styles</strong></a> [NEW] (by pixy). Works in IE6/Win, IE5/Mac, and Mozilla. Write down name of property to be listed and move cursor over active document. Several browsers use CSS-names, other ones use DOM-names. See the predefined font size property: if you see "font-size", use CSS-names ("font-family", "margin-left", "border-style-left" etc.), if you see "fontSize", you have to use DOM-names ("fontFamily", "marginLeft", "borderStyleLeft" etc.).</li> </ul> <h4>Page Design</h4> <p>Following favelets can change only properties of the document. Style of its elements may be set by CSS. You may use a stylesheet switching (see above) before applying these favelets.</p> <ul> <li><a href="javascript:if(frames.length<1){document.body.background='';void(document.bgColor=prompt('Change%20to%20which%20background%20color?',''))}else{alert('Page%20has%20frames.%20Use%20the%20version%20of%20this%20bookmarklet%20for%20frames.%20(bookmarklets.com)')}">Set background color (with prompt)</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> <li><a href="javascript:void(document.bgColor='#FFFFFF')">Set background to white</a></li> <li><a href="javascript:void(document.body.background='')">Clear background (removes bgImage, too)</a></li> <li><a href="javascript:if(frames.length<1){void(document.fgColor=prompt('Change%20to%20which%20text%20%20color?',''))}else{alert('Page%20has%20frames.%20Use%20the%20version%20of%20this%20bookmarklet%20for%20frames.%20(bookmarklets.com)')}">Set text color (with prompt)</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> <li><a href="javascript:for(nIx5Bs=0;nIx5Bs<document.all.length;nIx5Bs++){if(document.all[nIx5Bs].tagName=='A'){with(document.all[nIx5Bs].style){if(backgroundColor=='yellow'){void(backgroundColor=document.bgColor)}else{void(backgroundColor='yellow')}}}}">Hilite all links (IE4+)</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> <li><a href="javascript:for(KLcc8R=0;KLcc8R<document.all.length;KLcc8R++){if(document.all[KLcc8R].tagName=='A'){with(document.all[KLcc8R].style){if(textDecoration=='none'){void(textDecoration='underline')}else{void(textDecoration='none')}}}}">Toggle all underlines (IE4+)</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> </ul> <h4>Page Info</h4> <ul> <li><a href="javascript:void(open('http://www.delorie.com/web/headers.cgi?url='+escape(document.location)))">View HTPP headers (in new window)</a></li> <li><a href="javascript:void(open('http://webtools.mozilla.org/web-sniffer/view.cgi?verbose=on&amp;url='+escape(document.location)))">View HTPP transaction</a></li> <li><a href="javascript:if(frames.length<1){alert('The%20server%20indicates%20that%20the%20page%20was%20last%20modified:%20'%20+%20window.document.lastModified)}else{alert('Page%20is%20framed.%20Use%20version%20of%20bookmarklet%20for%20frames.%20(bookmarklets.com)')}">Page freshnes (date/time of last modification)</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> <li><a href="javascript:if(frames.length<1){alert('This%20page%20has%20'%20+%20document.links.length%20+%20'%20links.')}else{alert('The%20page%20has%20frames!%20Use%20version%20of%20bookmarklet%20for%20frames.%20(bookmarklets.com)')}">Number of links</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> <li><a href="javascript:WN7z=open('','Z6','width=400,height=200,scrollbars,resizable,menubar');DL5e=document.links;with(WN7z.document){write('<base%20target=_blank>');for(lKi=0;lKi<DL5e.length;lKi++){write(DL5e[lKi].toString().link(DL5e[lKi])+'<br><br>')};void(close())}">List all links</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> <li><a href="javascript:eMlA='';for(iB2M=0;iB2M<document.links.length;iB2M++){if(document.links[iB2M].protocol=='mailto:'){Ju59=document.links[iB2M].toString();eMlA+=Ju59.substring(7,Ju59.length)+'\n'}};if(eMlA!=''){alert(eMlA)}else{alert('No%20mailto%20links%20on%20page!')}">List e-mail links</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> <li><a href="javascript:Ai7Mg6P='';for%20(i7M1bQz=0;i7M1bQz<document.images.length;i7M1bQz++){Ai7Mg6P+='<img%20src='+document.images[i7M1bQz].src+'><br>'};if(Ai7Mg6P!=''){document.write('<center>'+Ai7Mg6P+'</center>');void(document.close())}else{alert('No%20images!')}">List all images</a> (by <a href="http://www.bookmarklets.com/">bookmarklets.com</a>)</li> <li><a href="javascript:if%20(false)void('View%20scripts%20script%20by%20Tantek%20Celik%20-%20last%20modified%201998.10.30');var%20whn%20=%20(window.location.toString().replace(/[^a-z0-9]/gi,'_'))+'_sc';var%20ln%20=%200,isn%20=%200,sn%20=%200,undefined,i=0,j=0;for%20(i=0;i<document.scripts.length;i++){var%20s%20=%20document.scripts[i];var%20tt%20=%20s.title;if%20(s.src==''%20||%20s.src==undefined){sn++;isn++;if%20(tt==''%20||%20tt==undefined)tt%20=%20'untitled%20inline%20script%20'+isn;var%20t%20=%20'<HTML> <!-- ARCHIVE by GEOCITIES.WS --> <HEAD><TITLE>'+tt+'</TITLE></HEAD><BODY%20STYLE=\'background:white;color:black;font:9pt%20FixedSys,Monaco,monospace;margin:3px%204px\'><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <PLAINTEXT>';t+=s.outerHTML;%20var%20w%20=%20window.open('about:blank',whn+sn,'menubar,resizable,scrollbars');w.document.write(t);w.document.close();w.focus();}else{sn++;ln++;var%20w%20=%20window.open(s.src,whn+sn,'status,location,menubar,resizable,scrollbars');if%20(tt!=''%20&&%20tt!=undefined)%20w.document.title%20=%20tt;w.document.createStyleSheet('');w.document.styleSheets[0].addRule('BODY','background:white;color:black;font:9pt%20FixedSys,Monaco,monospace;margin:3px%204px');w.document.styleSheets[0].addRule('PRE,PLAINTEXT','background:white;color:black;font:9pt%20FixedSys,Monaco,monospace');w.focus();}}void(19981030);">View all scripts</a> (by <a href="http://tantek.com/favelets/">Tantek &Ccedil;elik</a>)</li> </ul> <h4>Browser Window</h4> <p>To let these favelets work, the javascript moving/resizing of windows mustn't be disabled in your browser.</p> <ul> <li><a href="javascript:window.resizeTo(240,320)">Resize to 240x320 (pocketPC)</a></li> <li><a href="javascript:window.resizeTo(544,372)">Resize to 544x372 (webTV)</a></li> <li><a href="javascript:window.resizeTo(640,460)">Resize to 640x480</a></li> <li><a href="javascript:window.resizeTo(800,600)">Resize to 800x600</a></li> <li><a href="javascript:window.resizeTo(1024,768)">Resize to 1027x768</a></li> <li><a href="javascript:window.moveTo(0,0);resizeTo(screen.availWidth,screen.availHeight-20)">Resize to full screen</a></li> <li><a href="javascript:window.moveTo(0,0);var%20x=screen.availWidth;var%20y=screen.availHeight-20;window.resizeTo(x/2,y);var%20w2=open(document.location,'','resizable=1,scrollbars=1,menubar=1,status=1,location=1,toolbar=1,directories=1');w2.moveTo(x/2,0);w2.resizeTo(x/2,y)">Create comparing windows (vertical)</a> (by pixy)</li> <li><a href="javascript:window.moveTo(0,0);var%20x=screen.availWidth;var%20y=screen.availHeight-40;window.resizeTo(x,y/2);var%20w2=open(document.location,'','resizable=1,scrollbars=1,menubar=0,status=0,location=0,toolbar=0,directories=0');w2.moveTo(0,y/2+20);w2.resizeTo(x,y/2)">Create comparing windows (horizontal)</a> (by pixy)</li> </ul> </div> <h4>Bookmarklets from <a href="http://stilleye.com/temp/bmarks.html">Stilleye</a></h4> <dl> <dt><strong><a href="javascript:with(window.open().document){open();write('&lt;html&gt;&lt;head&gt;&lt;title&gt;Dynamic Source ('+location.href+')&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;pre&gt;'+document.body.innerHTML.replace(/&/gi, '&amp;amp;').replace(/&lt;/gi,'&amp;lt;').replace(/&gt;/gi,'&amp;gt;')+'&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;');close()}">Dynamic Source</a></strong></dt> <dt><strong><a href="javascript:_$i=function(f){var i=0,o='<b>['+(f.name?f.name:f.location.href)+']</b><ul>',v,a={},d=f.document.images;while(v=d[i++]){if(a[v.src]!=1)o+='<li><a href=_%27+v.html>'+v.src+'</a></li>';a[v.src]=1}for(i=0;i<f.frames.length;i++)o+='<li>'+_$i(f.frames[i])+'</li>';return o+'</ul>'};with(window.open('','docImages','width=650,height=400,toolbar=1,menubar=1,scrollbars=1,resizable=1').document){open();write(_$i(top));close()}">Image Grabber</a></strong></dt> <dd>Want to steal an image? This image grabber will collect all images from a page for your convenience. <em>Note: It won't collect background images in the HTML or through CSS.</em></dd> <dt><strong><a href="javascript:__ds=function(){var i,s=document.styleSheets;for(i=0;i<s.length;i++)s[i].disabled=true};__ds();">Disable Stylesheets</a></strong></dt> <dd>How does the structured document look? Now you can see a site without stylesheets.</dd> <dt><strong><a href="javascript:__JSconsole=function(){var w=open('','','width=600,height=200');with(w.document){open();write('<html> <!-- ARCHIVE by GEOCITIES.WS --> <head><title>JavaScript Console</head><body><center> <script language="javascript" type="text/javascript" src="//ad.broadcaststation.net/ads/show_ad.php?width=728&height=90"></script> </center> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-4KX380T5BD"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-4KX380T5BD'); </script> <!-- END GOOGLE --> <geoads></geoads> <h3>JavaScript Console</h3><form name=jsConsole><textarea name=jsCommand wrap=off style=width:100%;height:8em></textarea><br><a href=javascript:\/\/ \nonclick=if(window.opener)window.opener.eval(document.forms[\'jsConsole\'].jsCommand.value)>Run Command</a></form></body <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </html>');close()}};__JSconsole()">JavaScript Console</a></strong> NS4/IE/Moz</dt> <dd>Ever feel like playing with your favorite website? Now you can. This little console allows you to run code. Have fun kids.</dd> <dt><strong><a href="javascript:A=0,T='',S={g:function(d){var x=d.styleSheets,i=0,y,j=0;while(i<x.length){M('link',x[i].href);y=x[i++].imports;while(y && j<y.length)M('@import',y[j++].href)}x=d.scripts;i=0;while(i<x.length)M('script',x[i++].src)},r:function(){var i=0,f=frames;S.g(document);while(i<f.length){A=1;S.g(f[i++].document)}with(open('','','width=620,height=200,scrollbars,resizable').document){write(T);close()}}};M=function(n,s){if(s){if(A){A=0;T+='<br>frame<br>'}T+='['+n+'] <a href='+s+.html'>'+s+'</a><br>'}};S.r()">View Scripts &amp; Stylesheets</a></strong>&nbsp; IE/Moz</dt> <dd>This is probably one of the handiest bookmarklets I've seen. Quick access to all the scripts and stylesheets included on a page. This one is rewritten from the 13th Parallel's bookmarklet. It has been encapsulated to avoid conflicting with page variables.</dd> <dt><strong><a href="javascript:void(__gckie=function(){var win,i,out='',d=document.cookie.split('; ');for(i=0;d[i];i++)out+=unescape(d[i].replace('=',' : '))+'\n\n';win=window.open('','gckie','width=600,height=250,scrollbars,resizable');win.document.open();win.document.write(''+(out==''?'No cookies found.':out)+'');win.document.close();});void(__gckie());">View Cookies</a></strong>&nbsp; NS4/IE/Moz</dt> <dd>Ever wonder what cookies sites are setting for you? Now you can see. Also great for use during the dev process.</dd> <dt><strong><a href="javascript:_G_=function(w){var i=0,t,o='';while(i<w.frames.length){t=w[i++];o+='<li>'+t.name+' (<a href=view-source_%27+t.html>'+t.location+'</a>)';if(t.frames.length)o+=_G_(t)}return o==''?o:'<ol start=0>'+o+'</ol>'};_P_=function(o){if(o!=''){var w=open('','','width=640,height=300,scrollbars,status,resizable').document;w.open();w.write('<h3><a href=view-source_%27+top.html>'+document.title+'</a></h3>'+o.replace('&','&amp;'));w.close()}else{open('view-source:'+location)}};void(_P_(_G_(top)))">View Sourcer</a></strong>&nbsp; NS4/IE/Moz</dt> <dd>This bookmarklet will show the source of documents. If it is a single page, you just get the source. If it is a framed site, you'll get a list of links to the source of all the framed pages.</dd> <dt><strong><a href="javascript:__S='';__S=document.selection?document.selection.createRange().text:document.getSelection();void(window.open(__S));">URL From String</a></strong>&nbsp; IE/Moz</dt> <dd>If a URL appears on a page that isn't a hyperlink (usually happens in forums and newsgroups), just select the text you want and turn it into a URL! Test it here: http://www.yahoo.com/.</dd> </dl> <h4>Bookmarklets from <a href="http://www.sam-i-am.com/work/bookmarklets/dev_debugging.html">Sam-i-am</a></h4> <h3>Web Page Debugging and Development Bookmarklets</h3> <form> <p><b><a href="javascript:void(sUrl=prompt('view source of:',top.location.href));if(sUrl){void(agt=navigator.userAgent.toLowerCase());if(agt.indexOf('mac')!=-1 && agt.indexOf('msie')!=-1){sPrefix='http://sam-i-am.com/cgi-bin/sendastxt.cgi?'}else{sPrefix='view-source:'}void(location.href=sPrefix+sUrl)}">View Source</a></b><br> &nbsp;<small>compatible: tested in win32, mac NN3+, win32 IE4+; Mac ie5</small></p> <p><b>Updated</b>. Prompts for a url (defaults to the current location) to view the source of. Then for all but MacIE5 it just prepends 'view-source:' and sets the location to launch the url in the source viewer. But MacIE5 doesn't understand the view-source: protocol, so it sends it off to the sendastxt.cgi on my server which returns the source listing. </p> <table cellpadding="2" cellspacing="0" border="0" bgcolor="#eeeeee"> <tr valign="top"> <td><p><small>bookmarklet source:<br></small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript:void(sUrl=prompt('view source of:',top.location.href));if(sUrl){void(agt=navigator.userAgent.toLowerCase());if(agt.indexOf('mac')!=-1 && agt.indexOf('msie')!=-1){sPrefix='http://sam-i-am.com/cgi-bin/sendastxt.cgi?'}else{sPrefix='view-source:'}void(location.href=sPrefix+sUrl)}" size="40" style="width:320px;"></td> </table> <p class="vspacer">&nbsp;</p> <p class="vspacer">&nbsp;</p> <p><b><a href="javascript: void(top.location = 'http://sam-i-am.com/cgi-bin/sendastxt.cgi?' + prompt('URL:',''))">Send As Text</a></b><br> &nbsp;<small>compatible: NN3+, IE, Mac, Win32, (*nix?)</small></p> <p>This prompts for a url, and sends it to a cgi on my server that sends it back in a &lt;pre&gt; html wrapper, with the mime-type text/html. In most cases this is the same as a view-source, but it's a quick way to double check what code the server is actually sending. <b>Update:</b> The &lt;pre&gt; html wrapper should fix the problem in IE where it was second guessing the mime-type.</p> <table cellpadding="2" cellspacing="0" border="0" bgcolor="#eeeeee"> <tr valign="top"> <td><p><small>bookmarklet source:<br></small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript: void(top.location = 'http://sam-i-am.com/cgi-bin/sendastxt.cgi?' + prompt('URL:',''))" size="40" style="width:320px;"></td> </table> <p class="vspacer">&nbsp;</p> <p class="vspacer">&nbsp;</p> <p><b><a href="javascript: void(d=document);void(cs='http://sam-i-am.com/misc/css/tableborders.css');void(d.g=d.getElementsByTagName);void(l='link');void(H=d.g('head').item(0));void(c=(d.all)?c=d.all.tags(l):d.g(l));with(c) {for(i=0;i<length;i++){if(item(i).getAttribute('href')==cs)location.reload();}}void(L=d.createElement(l));void(L.s=L.setAttribute);void(L.s('rel','StyleSheet'));void(L.s('href',cs));void(H.appendChild(L));">Show Tables</a></b><br> &nbsp;<small>tested: IE 5.5 Win32</small></p> <p>Turns on table borders and color codes them to reveal nesting. This script inserts a link node into the current document head, which pulls in a stylesheet I maintain on my server. Feel free to download and adapt this to your own purposes: <a href="javascript:viewSource('http://www.sam-i-am.com/misc/css/tableborders.css')">tableborders.css</a></p> <table cellpadding="2" cellspacing="0" border="0" bgcolor="#eeeeee"> <tr valign="top"> <td><p><small>bookmarklet source:<br></small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript: void(d=document);void(cs='http://sam-i-am.com/misc/css/tableborders.css');void(d.g=d.getElementsByTagName);void(l='link');void(H=d.g('head').item(0));void(c=(d.all)?c=d.all.tags(l):d.g(l));with(c) {for(i=0;i<length;i++){if(item(i).getAttribute('href')==cs)location.reload();}}void(L=d.createElement(l));void(L.s=L.setAttribute);void(L.s('rel','StyleSheet'));void(L.s('href',cs));void(H.appendChild(L));" size="40" style="width:320px;"></td> </table> <p class="vspacer">&nbsp;</p> <p class="vspacer">&nbsp;</p> <p><b><a href="javascript:void(s=document.body.style);void(z=s.getAttribute('zoom'));if(z){s.setAttribute('zoom',(parseInt(z)+50)+'%');}else s.setAttribute('zoom','150%');">Zoom In</a></b>, <b><a href="javascript:void(s=document.body.style);void(z=s.getAttribute('zoom'));if(z){s.setAttribute('zoom',(parseInt(z)-50)+'%');}else s.setAttribute('zoom','50%');">Zoom Out</a></b><br> &nbsp;<small>compatible: IE 5.5, Win32</small></p> <p>This pair will zoom in/out the current page in 50% increments. Great for pixel level debugging and using with Element Ancestry to click on exactly the element/screen are you are interested in. </p> <p>The scripts add/modify a style attribute to acheive the zooming. Thanks to Adrian Cotter for his improvements and doing the zoom out.</p> <table cellpadding="2" cellspacing="0" border="0" bgcolor="#eeeeee"> <tr valign="top"> <td colspan="2"><p><small>bookmarklet source:<br></small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript:void(s=document.body.style);void(z=s.getAttribute('zoom'));if(z){s.setAttribute('zoom',(parseInt(z)+50)+'%');}else s.setAttribute('zoom','150%');" size="40" style="width:320px;"></td> <td><p><small>&nbsp;zoom in</small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript:void(s=document.body.style);void(z=s.getAttribute('zoom'));if(z){s.setAttribute('zoom',(parseInt(z)-50)+'%');}else s.setAttribute('zoom','50%');" size="40" style="width:320px;"></td> <td><p><small>&nbsp;zoom out&nbsp;</small></p></td> </tr> </table> <p> I also have a pair of icons (.ico) zipped up here: <a href="assets/zoom_icons.html">zoom_icons.zip (966 bytes)</a></p> <p class="vspacer">&nbsp;</p> <p><b><a href="javascript: void(d=document);void(js='http://sam-i-am.com/misc/js/bookmarklet_whichElement.js');void(d.g=d.getElementsByTagName);void(l='script');void(H=d.g('head').item(0));void(c=(d.all)?c=d.all.tags(l):d.g(l));with(c) {for(i=0;i<length;i++){if(item(i).getAttribute('src')==js)location.reload();}}void(L=d.createElement(l));void(L.s=L.setAttribute);void(L.s('language','javascript'));void(L.s('src',js));void(H.appendChild(L));">Element Ancestry</a></b><br> &nbsp;<small>compatible: IE 5.5, Win32</small></p> <p>Makes all elements on the page clickable, throwing up prompt which shows the name of the element you clicked, and all its parents. It also includes any id or classnames that are attached to each element. Reload to make it go away.</p> <p>Sample output: <code>INPUT#fieldId SPAN P FORM TD.content TR TBODY TABLE BODY</code></p> <p>This goes into a prompt as I'm typically wanting to copy some or all of this information into an editor.<br> I use this a lot when I'm working with CSS and need to know what styles a particular element might be inheriting, or where to look for a glitch I'm seeing. Using the zoom tools (above) you can get in there and examine those 1px table and div borders. </p> <p>This should work in NN6, I've not tried it there yet though. It uses the same insert node technique as &quot;show tables&quot; to insert a <a href="view-source_http__/sam-i-am.com/misc/js/bookmarklet_whichElement.html">script</a> into the head. </p> <table cellpadding="2" cellspacing="0" border="0" bgcolor="#eeeeee"> <tr valign="top"> <td><p><small>bookmarklet source:<br></small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript: void(d=document);void(js='http://sam-i-am.com/misc/js/bookmarklet_whichElement.js');void(d.g=d.getElementsByTagName);void(l='script');void(H=d.g('head').item(0));void(c=(d.all)?c=d.all.tags(l):d.g(l));with(c) {for(i=0;i<length;i++){if(item(i).getAttribute('src')==js)location.reload();}}void(L=d.createElement(l));void(L.s=L.setAttribute);void(L.s('language','javascript'));void(L.s('src',js));void(H.appendChild(L));" size="40" style="width:320px;"></td> </table> <p class="vspacer">&nbsp;</p> <p class="vspacer">&nbsp;</p> <p><b><a href="javascript:objWin=window.open('','objWin','width=600,height=450,scrollbars=yes,resizable=yes');objDoc=objWin.document;objDoc.open('text/plain');objDoc.write(document.documentElement.outerHTML);objDoc.close();">View Dom</a></b>, <b><a href="javascript:void(sId=prompt('element id:',''));if(sId) {objWin=window.open('','objWin','width=600,height=450,scrollbars=yes,resizable=yes');objDoc=objWin.document;objDoc.open('text/plain');objDoc.write(document.getElementById(sId).outerHTML);objDoc.close()}">View Dom Fragment</a></b><br> &nbsp;<small>compatible: IE 5.5, Win32, (IE5 Mac, NN6?)</small></p> <p>Takes a DOM-type document object snapshot and throws the code into a new window. Although in IE the code gets mshtml-ized, this is still handy for debugging dhtml or dealing with dynamic, interactive pages. Dom Fragment is the same but prompts for an element ID and just gives you that node (and any descendants). (Which you could get by using Element Ancestry above)<br> To see an example, hit the Show Tables link above, then the View DOM link. See the last <code>LINK</code> element in the <code>HEAD</code>? That's not there if you view-source; Show Tables put it there. </p> <table cellpadding="2" cellspacing="0" border="0" bgcolor="#eeeeee"> <tr valign="top"> <td colspan="2"><p><small>bookmarklet source:<br></small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript:objWin=window.open('','objWin','width=600,height=450,scrollbars=yes,resizable=yes');objDoc=objWin.document;objDoc.open('text/plain');objDoc.write(document.documentElement.outerHTML);objDoc.close();"></td> <td><p><small>&nbsp;View DOM</small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript:void(sId=prompt('element id:',''));if(sId) {objWin=window.open('','objWin','width=600,height=450,scrollbars=yes,resizable=yes');objDoc=objWin.document;objDoc.open('text/plain');objDoc.write(document.getElementById(sId).outerHTML);objDoc.close()}"></td> <td><p><small>&nbsp;View DOM Fragment&nbsp;</small></p></td> </tr> </table> <p class="vspacer">&nbsp;</p> <p class="vspacer">&nbsp;</p> <p><b><a href="javascript:void(d=document);void(df='http://sam-i-am.com/cgi-bin/echoform.cgi');void(c=(d.all)?d.all.tags('form'):d.getElementsByTagName('form'));with(c){for(i=0;i<length;i++) item(i).setAttribute('action',df);}">Echo Form</a></b><br> &nbsp;<small>tested: IE 5.5, Win32</small></p> <p>Changes the <code>ACTION</code> attribute of forms on the page to point to a cgi on my server, that displays the field names and values.<br> Go try it on google or something. I use this a lot when I'm doing web form based client-server type stuff. It's the first place to check before you dive into your source code - is your server-side app receiving what you think it's receiving?<br> Reload the page to restore the defaults. </p> <table cellpadding="2" cellspacing="0" border="0" bgcolor="#eeeeee"> <tr valign="top"> <td><p><small>bookmarklet source:<br></small></p></td> </tr> <tr valign="top"> <td><input type="text" value="javascript:void(d=document);void(df='http://sam-i-am.com/cgi-bin/echoform.cgi');void(c=(d.all)?d.all.tags('form'):d.getElementsByTagName('form'));with(c){for(i=0;i<length;i++) item(i).setAttribute('action',df);}" size="40" style="width:320px;"></td> </table> </form> <h4>Bookmarklets from <a href="http://www.508compliant.com/tools.htm">508 compliant</a></h4> <H1>Accessibility</H1> <DL><p> <DT><H3 FOLDED ADD_DATE="910936628">Accessibility</h3> <DL><p> <DT><A HREF="javascript:for(i=0;i<document.styleSheets.length;i++)document.styleSheets[i].cssText='';void(null)" ADD_DATE="911006380" LAST_VISIT="0" LAST_MODIFIED="0">Kill Style Sheets</A> <DT><A HREF="javascript:document.body.style.filter='gray()';void(null)" ADD_DATE="911006380" LAST_VISIT="0" LAST_MODIFIED="0">Grayscale the Page</A> <DT><A HREF="javascript:di=document.images;str='';for(i=0;i<di.length;i++){if(di[i].getAttribute('ALT').length==0)str+=di[i].src.link(di[i].src)+'<br>'}if(str.length==0){alert('All images have ALTs!')}else{W=open('','s','width=600,height=300,resizable,scrollbars');with(W.document){write('<base target=im>These images are missing ALTs:<br>'+str);close()}}" ADD_DATE="910937019" LAST_VISIT="0" LAST_MODIFIED="0">IMGs missing ALTs</A> </DL><p> </DL><p> <h4>Bookmarklets from <a href="http://javascript.about.com/cs/bookmarklets/">About.com</a></h4> <a href="javascript:resizeTo(800,580)">Resize Window</a> <a href="javascript:void(window.location.href='http://www.google.com/search?q=link:'+window.location.href)">Google Links</a> <a href="javascript:void(document.oncontextmenu=null)">Right Click</a> <a href="javascript:void(wwin=window.open(window.location.protocol+'//'+window.location.host,'showcookie','scrollbars=yes,resizable=yes,width=475,height=360,left=75,top=175,status=yes'));wwin.document.open();wwin.document.write('<ht'+'ml>\r<he'+'ad><title>Show Cookies</title></he'+'ad><b'+'ody>' + document.cookie + '</bo'+'dy></ht'+'ml>');wwin.document.close();wwin.focus();">Show Cookies</a> <h4>Bookmarklets from <a href="http://www.fjordaan.uklinux.net/moveabletype/fblog/archives/000059.html">blog of francois</a></h4> <li><a href="javascript:q=(document.frames.length?'':document.selection.createRange().text);for(i=0;i<document.frames.length;i++){q=document.frames[i].document.selection.createRange().text;if(q!='')break;}if(q=='')void(q=prompt('Enter text to search using Google. You can also highlight a word on this web page before clicking Google Search.',''));if(q)location.href='http://www.google.com/search?client=googlet&q='+escape(q)">Google</a><br /> Google search on highlighted word; brings up Search prompt otherwise. Sometimes local scripts on a page prevent it from working. For more functionality, install the <a href="http://toolbar.google.com/">Google toolbar</a>, or even better, <a href="http://notesbydave.com/toolbar/doc.htm">Dave's Quick Search Taskbar Toolbar Deskbar</a> (unreservedly recommended).<br /> <b>Source:</b> <a href="http://www.google.com/">Google</a></li> <li><a href="javascript:void(window.resizeTo(800,600))">800x600</a><br /> Resize browser window to 800&#215;600 pixels, at the time of writing still the &#8220;average&#8221; screen resolution benchmark. (Note that you should subtract 20px if you want to take into account the size of the Windows Taskbar, a given on the majority of home computers.)<br /> <b>Source:</b> <a href="http://tantek.com/favelets/">favelets.com</a></li> <li><a href="javascript:void(q=prompt('Google%20Current%20site:',''));if(q)void(hn=location.hostname);void(location.href='http://www.google.com/search?q=site:'+hn+'%20'+escape(q))">Google current site</a><br /> Google search on highlighted word; brings up Search prompt otherwise. Restricts search to the current site. <br /> <b>Source:</b> <a href="http://centricle.com/tools/favelets/">centricle.com</a> </li> <li><a href="javascript:var maslWindow=window.open('', '','scrollbars=yes,toolbar=no,location=no,width=660,height=400');maslWindow.document.write('&lt;html&gt;&lt;head&gt;&lt;title&gt;Make A Shorter Link&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;form name=\'maslForm\' action=\'http:/' + '/makeashorterlink.com/index.php\' method=\'post\'&gt;&lt;INPUT name=\'url\' type=\'hidden\' value=\'' + window.location.href + '\' javascript:void(location.href='http://tinyurl.com/create.php?url='+location.href)">TinyURL!</a><br /> Generates a short URL pointing to the current page, placing it on the clipboard automatically, ready for pasting (Windows only). Useful with long, messy URLs that'll wrap when pasted into plaintext emails. My favourite over the other three alternatives, <a href="http://makeashorterlink.com/">Makeashorterlink</a>, <a href="http://notlong.com/">Notlong</a> and <a href="http://snipurl.com/">SnipURL</a>. (The latter lets you customise the shortened URL.)<br /> <b>Source:</b> <a href="http://tinyurl.com/">TinyURL.com</a></li> <li><a href="javascript:(function(){var d=document; function K(N,t) { var b = d.createElement(&quot;div&quot;); b.style.width=N.width; b.style.height=N.height; b.innerHTML=&quot;&lt;del&gt;&quot; + t + &quot;&lt;/del&gt;&quot;; N.parentNode.replaceChild(b,N); } function Z(t) { var T = d.getElementsByTagName(t), i; for (i=T.length-1;i+1;--i) K(T[i],t); } Z(&quot;object&quot;); Z(&quot;embed&quot;); Z(&quot;applet&quot;); Z(&quot;iframe&quot;);})();">zap plugins</a><br /> <cite>Removes java, flash, background music, and third-party iframes.</cite> Excellent for intrusive Flash ads. I prefer using this rather than a blanket ad-banning solution, since I occasionally enjoy seeing ads.<br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> <li><a href="javascript:void((function(){var element=document.createElement('script');element.setAttribute('src','http://www.gazingus.org/js/pageWeight.js');document.body.appendChild(element)})())">Page Weight &amp; Speed</a><br /> Combined weight (in bytes) of all HTML and images on the page, with estimated download speeds. Its main weakness is that it does not measure linked resources, like CSS or scripts. For this, use <a href="http://www.q42.nl/">Q42</a>'s <a href="javascript:function%20includePageSizeLogic(){if(document.readyState!='complete'){alert('This%20page%20wasn\'t%20completely%20loaded!\n\nPlease%20reload%20and%20wait%20until%20load%20completes%20before%20invoking%20this%20bookmarklet.');return;};document.body.appendChild(document.createElement('&lt;script%20src=http://q42.nl/demos/bookmarklets/pagesize.js&gt;'));}includePageSizeLogic();void(true);">GetPageSize</a> (much slower).<br /> <b>Source:</b> Kindly custom-made for me by <a href="http://www.gazingus.org/">Dave Lindquist</a></li> <li><b>Web development</b></li> <ol> <li class="li2"><a href="javascript:scBoolAddScript=true;for(i=0;i&lt;document.scripts.length;i++){if(document.scripts[i].src.indexOf('showcomments')!=-1){scBoolAddScript=false;break;}}if(scBoolAddScript){scScript=document.createElement('script');scScript.src='http://endquote.com/content/446/showcomments.js';scScript.type='text/javascript';scScript.defer=true;void(document.getElementsByTagName('head')[0].appendChild(scScript))}else{scDoBookmarklet();}">! (view comments)</a><br /> Expose the invisible comments in the code. Sometimes useful to understand the layout.<br /> <b>Source: </b><a href="http://endquote.com/">endquote.com</a> </li> <li><a href="javascript:(function(){ function mark(elem) { if(elem.style) { elem.style.border=&quot;1px solid green&quot;; } } ; function recurse(elem,p) { var i, k, cn; if(!elem) { alert(&quot;null&quot;); return; } mark(elem); cn = elem.childNodes; if(cn){ k = cn.length; for (i = 0; i &lt; k; i++) { recurse(cn[i], p + &quot;.&quot; + i); } }} recurse(document,&quot;d&quot;); })();">Add borders</a><br /> <cite>Adds a green border around each element on the page.</cite><br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> <li><a href="javascript:(function() { function B(t) { return !(t==&quot;TBODY&quot;||t==&quot;TD&quot;||t==&quot;THEAD&quot;||t==&quot;TR&quot;||t==&quot;TH&quot;); } function A(n) { var t=n.tagName.toUpperCase(); if(t==&quot;BODY&quot;) return t; return A(n.parentNode) + ( B(t) ? &quot; &gt; &quot;+t : &quot; &quot;+t.toLowerCase() ) + (n.className?&quot;.&quot;+n.className:&quot;&quot;) + (n.id?&quot;#&quot;+n.id:&quot;&quot;); } document.body.onmouseover = function(e) { e=e?e:event; var s,g = e.target; g=g?g:e.srcElement; try { s = A(g); } catch(err) { s = err.message; } window.status=s; return true; }; window.status=&quot;BODY&quot;;})()">ancestors</a><br /> <cite>Lists the ancestors of any element you hover over in the status bar.</cite> One of my favourites. <br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> <li><a href="javascript:void(document.location='http://validator.w3.org/checklink?url='+document.location)">Check Links</a><br /> Check for broken links on the current page.<br /> <b>Source:</b> <a href="http://tantek.com/favelets/">favelets.com</a> </li> <li><a href="javascript:(function(){var y,x,e,i,speed,L; while(x=document.getElementsByTagName(&quot;script&quot;)[0])x.parentNode.removeChild(x); speed=parseInt(prompt(&quot;Print how many characters at a time?\n1 is slowest.&quot;,30)); function T(){x.write(e.substr(i,speed)); if (i&lt;L) setTimeout(T,1); else x.close(); i+=speed; if (i&gt;L)i=L; y.status=i+&quot;/&quot;+L } if (speed&gt;0) { e=document.documentElement.innerHTML; L=e.length; i=0; y=open(); x=y.document; T(); } })()">clone slowly</a><br /> <cite>Clones page several chars at a time (to test incremental rendering).</cite> Sheer genius. <br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> <li><a href="javascript:function%20includePageSizeLogic(){if(document.readyState!='complete'){alert('This%20page%20wasn\'t%20completely%20loaded!\n\nPlease%20reload%20and%20wait%20until%20load%20completes%20before%20invoking%20this%20bookmarklet.');return;};document.body.appendChild(document.createElement('&lt;script%20src=http://q42.nl/demos/bookmarklets/pagesize.js&gt;'));}includePageSizeLogic();void(true);">GetPageSize!</a><br /> See no.5 above </li> <li><a href="javascript:alert(document.compatMode);">IE compatibility mode</a><br /> Pretty simple: Makes IE report whether it's in 'Quirks' mode or 'Standards' mode. More info on <a href="http://css-discuss.incutio.com/?page=RenderingMode">CSS-discuss</a>.<br /> <b>Source:</b> <a href="http://www.accessify.com/tools-and-wizards/accessibility-checking-favelets.asp">Accessify</a> </li> <li><a href="javascript:(function(){var a={},b=[],i,e,c,k,d,s=&quot;&lt;table border=1&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;Tag&lt;/th&gt;&lt;th&gt;className&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&quot;;for(i=0;e=document.getElementsByTagName(&quot;*&quot;)[i];++i)if(c=e.className){k=e.tagName+&quot;.&quot;+c;a[k]=a[k]?a[k]+1:1;}for(k in a)b.push([k,a[k]]);b.sort();for(i in b) s+=&quot;&lt;tr&gt;&lt;td&gt;&quot;+b[i][1]+&quot;&lt;/td&gt;&lt;td&gt;&quot;+b[i][0].split(&quot;.&quot;).join(&quot;&lt;/td&gt;&lt;td&gt;&quot;)+&quot;&lt;/td&gt;&lt;/tr&gt;&quot;;s+=&quot;&lt;/table&gt;&quot;;d=open().document;d.write(s);d.close();})()">list classes</a><br /> <cite>Lists classes used in the document</cite> (in a new window).<br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> <li><a href="javascript:var t=document.getElementsByTagName('div');for(i=0;i&lt;t.length;i++){void(t[i].style.padding='5px;');b=t[i].className;h=t[i].innerHTML;void(t[i].innerHTML='&lt;p style=\'color:red;font-weight:bold;\'&gt;'+b+'&lt;/p&gt;'+h);void(t[i].style.border='2px solid red');}">Show and label divs with classes</a><br /> <cite>Highlights ALL div tags with a red border and labels each one with an id. </cite><br /> <b>Source:</b> <a href="http://www.accessify.com/tools-and-wizards/accessibility-checking-favelets.asp">Accessify</a> </li> <li><a href="javascript:var t=document.getElementsByTagName('div');for(i=0;i&lt;t.length;i++){void(t[i].style.padding='5px;');b=t[i].id;h=t[i].innerHTML;void(t[i].innerHTML='&lt;p style=\'color:red;font-weight:bold;\'&gt;'+b+'&lt;/p&gt;'+h);void(t[i].style.border='2px solid red');}">Show and label divs with ids</a><br /> <cite>Exactly as above, but this time only divs that have a class are labelled.</cite><br /> <b>Source:</b> <a href="http://www.accessify.com/tools-and-wizards/accessibility-checking-favelets.asp">Accessify</a> </li> <li><a href="javascript:(function(){var newSS; newSS=document.createElement(&quot;link&quot;); newSS.rel=&quot;stylesheet&quot;; newSS.type=&quot;text/css&quot;; newSS.href = &quot;http://www.fjordaan.net/misc/css/divborders.css&quot;; document.documentElement.childNodes[0].appendChild(newSS); })();">Show Divs, Spans &amp; P</a><br /> Outlines &lt;div&gt; (solid lines, colours indicating depth of nesting), &lt;span&gt; (dotted green) and &lt;p&gt; (dotted blue) tags.<br /> <b>Source: </b>Started at <a href="http://www.web-graphics.com/mtarchive/000300.php">web-graphics.com</a>, but I later changed it to show nesting and paragraphs. Links to <a href="http://www.fjordaan.net/misc/css/divborders.css">this stylesheet</a> on my server. If you want to use it, copy it to your server and update the bookmarklet. </li> <li><a href="javascript:void(elName=prompt('Which%20elements?',''));void(brdrClr=prompt('What%20color?',''));if(elName)%7BtheEls=document.getElementsByTagName(elName);for(i=0;i%3CtheEls.length;i++)%7Bvoid(theEls%5Bi%5D.style.border='solid%201px%20red');void(theEls%5Bi%5D.style.borderColor=brdrClr)%7D%7D">Show Specific Elements</a><br /> Brings up dialog boxes asking for the element, and what colour to highlight it in. Interesting.<br /> <b>Source:</b> <a href="http://centricle.com/tools/favelets/">centricle.com</a> </li> <li><a href="javascript: void(d=document);void(cs='http://sam-i-am.com/misc/css/tableborders.css');void(d.g=d.getElementsByTagName);void(l='link');void(H=d.g('head').item(0));void(c=(d.all)?c=d.all.tags(l):d.g(l));with(c) {for(i=0;i&lt;length;i++){if(item(i).getAttribute('href')==cs)location.reload();}}void(L=d.createElement(l));void(L.s=L.setAttribute);void(L.s('rel','StyleSheet'));void(L.s('href',cs));void(H.appendChild(L));">Show Tables</a><br /> <cite>&#8220;Turns on table borders and color codes them to reveal nesting. This script inserts a link node into the current document head, which pulls in a stylesheet I maintain on my server. Feel free to download and adapt this to your own purposes: <a href="javascript:viewSource('http://www.fjordaan.net/misc/css/tableborders.css')">tableborders.css</a>&#8221;</cite><br /> One of my favourites. I recommend you copy the CSS to your own server if you plan to use it.<br /> <b>Source:</b> <a href="http://www.sam-i-am.com/work/bookmarklets/dev_debugging.html">sam-i-am.com</a> </li> <li><a href="javascript:var s='http://liorean.web-graphics.com/bookmarklets/viewstyles-c.js',q='\u0022',n=navigator,d=document,e,h,c,m;m=/mac/i.test(n.platform)&amp;&amp;/msie/i.test(n.userAgent);h=m?d.body:d.getElementsByTagName('head')[0];e=d.createElement(m?'div':'script');m?e.innerHTML='\u003cscript type='+q+'text/javascript'+q+' src='+q+s+q+'\u003e\u003c/script\u003e':e.setAttribute('src',s);void(h.appendChild(e));">View CSS</a><br /> Just as useful for web designers as Show Tables, this one pops up a window with links to all linked stylesheets, enabling you to view or download them.<br /> <b>Source:</b> <a href="http://liorean.web-graphics.com/">Liorean&#8217;s web coding depot</a> </li> <li><a href="javascript:(function(){var s='http://liorean.web-graphics.com/bookmarklets/viewscripts.js', t='text/javascript',q='\u0022',d=document,n=navigator,e;if(/mac/i.test(n.platform)&amp;&amp;/msie/i.test(n.userAgent))(d.createElement('div')).innerHTML='\u003cscript type='+q+t+q+' src='+q+s+q+'\u003e\u003c/script\u003e';else{(e=d.createElement('script')).src=s;e.type=t;d.getElementsByTagName('head')[0].appendChild(e)}})();void('Coded by liorean');">ViewScripts</a><br /> Similar to View CSS, pops up a window allowing you to view the linked and embedded javascript.<br /> <b>Source:</b> <a href="http://liorean.web-graphics.com/">Liorean&#8217;s web coding depot</a> </li> <li><a href="javascript:(function(){var H=[&quot;bgcolor&quot;,&quot;bgColor&quot;,&quot;background&quot;,&quot;color&quot;,&quot;align&quot;,&quot;text&quot;,&quot;alink&quot;,&quot;vlink&quot;],Y={FONT:1,CENTER:1},d=[],p; function R(N){var a,x,i,t; if(t=N.tagName){ t=t.toUpperCase(); for (i=0;a=H[i];++i)if(N.getAttribute(a))N.removeAttribute(a); for(i=0;x=N.childNodes[i];++i)R(x); if (Y[t])d.push(N); } } R(document.documentElement); for (i=0;N=d[i];++i) { p=N.parentNode; while(N.firstChild)p.insertBefore(N.firstChild,N); p.removeChild(N); } })()">zap presentational HTML</a><br /> <cite>Removes most presentational attributes and tags while leaving style sheets intact.</cite><br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> <li><a href="javascript:void(s=document.body.style);void(z=s.getAttribute('zoom'));if(z){s.setAttribute('zoom',(parseInt(z)+50)+'%');}else s.setAttribute('zoom','150%');">Zoom in</a><br /> <cite>This pair will zoom in on the current page in 50% increments. Great for pixel level debugging and using with Element Ancestry to click on exactly the element/screen are you are interested in.</cite><br /> <b>Source:</b> <a href="http://www.sam-i-am.com/work/bookmarklets/dev_debugging.html">sam-i-am.com</a> </li> </ol> <li><b>Screen sizes</b><br /> Resize the browser window. Useful for testing how layouts fit or reflow at various standard screen sizes.<br /> <ol> <li class="li2"><a href="resources/javascript-resizeTo(800,600).html">javascript-resizeTo(800,600)</a> (A text file, as syntax reference)</li> <li class="li2"><a href="javascript:void(window.resizeTo(240,320))">PocketPC iPaq 240x320</a></li> <li><a href="javascript:void(window.resizeTo(800,600))">SVGA 800x600</a></li> <li><a href="javascript:void(window.resizeTo(1280,1024))">SXGA 1280x1024</a></li> <li><a href="javascript:void(window.resizeTo(544,372))">TV safe 544x372</a></li> <li><a href="javascript:void(window.resizeTo(1600,1200))">UXGA 1600x1200</a></li> <li><a href="javascript:void(window.resizeTo(640,480))">VGA 640x480</a></li> <li><a href="javascript:void(window.resizeTo(1024,768))">XGA 1024x768</a></li> </ol> <b>Source:</b> <a href="http://tantek.com/favelets/">favelets.com</a></li> <li><b>CSS-related</b><br /> Resize the browser window. Useful for testing how layouts fit or reflow at various standard screen sizes.<br /> <ol> <li class="li2"><a href="javascript:if (false)void('Choose style sheet... script (C)1998-2001 Tantek Celik - last modified 2001.09.13');var undefined,i=0;var sheets = ',',options = '&lt;OPTION selected&gt;document default';for (i=0;i&lt;document.styleSheets.length;i++){var s = document.styleSheets[i];var tt = s.owningElement.title;if (tt != '' &amp;&amp; tt != undefined){if (sheets.indexOf(','+tt+',')==-1) {sheets += tt+',';options += '&lt;OPTION&gt;'+tt;}}}var ds = '&lt;!DOCTYPE HTML PUBLIC %22-//W3C//DTD HTML 4.0 Transitional//EN%22 %22http://www.w3.org/TR/REC-html40/loose.dtd%22&gt;&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;Choose style sheet&lt;/TITLE&gt;&lt;STYLE&gt;SELECT{width:144px; border:medium solid #339;background:#DDD;font:menu} BODY{overflow:hidden;margin:0;text-align:center;background:#CCC} .h{position:absolute;right:1px;top:1px;width:1em;text-align:right;font:10px Avant Garde,Chicago,Times,Arial,serif;text-decoration:none}&lt;/STYLE&gt;&lt;SCRIPT&gt;function choosess(tt) { var undefined; var d = window.opener.document; for (i=0; i&lt;d.styleSheets.length; i++) { var s = d.styleSheets[i]; var ti=s.owningElement.title; if (ti!=\'\' &amp;&amp; ti!=undefined &amp;&amp; ti!=tt) s.disabled = true; else s.disabled=false; }}&lt;/SCRIPT&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;CENTER&gt;';ds += '&lt;BR&gt;&lt;SELECT ID=S1 SIZE=4 ONKEYPRESS=\'var k = event.keyCode; if (k==13 || k==3 || k==27) { window.close();}; \' ONCHANGE=\'if (this.selectedIndex!=-1) choosess(this.options[this.selectedIndex].text);\'&gt;'+options+'&lt;/SELECT&gt;&lt;BR&gt;';ds += '&lt;a href=\'http://favelets.com/\' target=help class=h&gt;@&lt;/a&gt;&lt;br&gt;';ds += '&lt;/CENTER&gt;&lt;/BODY&gt;&lt;/HTML&gt; ';var w = window.open('about:blank','ChooseStyleSheet','height=90,width=164');w.document.write(ds);w.document.close();w.focus();w.document.getElementById('S1').focus();void(19981023);">Choose style sheet</a><br /> Adds a feature lacked by IE. <cite>Provides users the opportunity to select an alternate style sheet. See the <a href="http://tantek.com/CSS/Examples/codeisfreespeech.html">Alternate style sheets example</a> for more information about alternate style sheets. </cite> </li> <li><a href="javascript:var i=0;if(document.styleSheets.length&gt;0){cs=!document.styleSheets[0].disabled;for(i=0;i&lt;document.styleSheets.length;i++) document.styleSheets[i].disabled=cs;};void(cs=true);">Toggle CSS style sheets</a><br /> See what the page looks like with CSS disabled. </li> </ol> <b>Source:</b> <a href="http://tantek.com/favelets/">favelets.com</a></li> <li><b>Zap (cleanup)</b> <br /> <ol> <li><a href="javascript:void(document.bgColor='#CCCCCC')">Page Color to Grey</a><br /> Use this when white web page backgrounds give you eyestrain. Modified from a &#8220;Page Color to White&#8221; original at bookmarklets.com. Unfortunately this does not work on sites where the background colour is set by the stylesheet. [There are bookmarklets on <a href="http://www.squarefree.com/bookmarklets/">squarefree</a> for that too.]<br /> <b>Source:</b> <a href="http://www.bookmarklets.com/">Bookmarklets.com</a></li> <li><a href="javascript:void(document.body.background='')">Remove Background Image</a><br /> Use this when arty textured backgrounds behind the text give you eyestrain. Again, this does not work on sites where the background is set by the stylesheet. [Should be fixable.]<br /> <b>Source:</b> <a href="http://www.bookmarklets.com/">Bookmarklets.com</a></li> <li><a href="javascript:function G(x){var i,j,F,y;if(x.length<1){y=x.document.links;for(i=0;i<y.length;i++){m=y[i].onmouseover;if(m){F=new Function(m+';status=\''+y[i].href+'\';return true');y[i].onmouseover=F}}}else{for(j=0;j<x.length;j++){G(x.frames[j])}}};G(this)">Statusbar Shows URL</a><br /> Prevent those pesky scripts from replacing the destination URL in the browser's Status bar with supposedly helpful descriptions.<br /> <b>Source:</b> Can't remember! I think it might be from <a href="http://www.zdnet.com/devhead/stories/articles/0,4413,2348828,00.html">ZDNet</a>, via web-graphics.com</li> <li class="li2"><a href="javascript:(function(){C=document.cookie.split(&quot;; &quot;);for(d=&quot;.&quot;+location.host;d;d=(&quot;&quot;+d).substr(1).match(/\..*$/))for(sl=0;sl&lt;2;++sl)for(p=&quot;/&quot;+location.pathname;p;p=p.substring(0,p.lastIndexOf('http://au.share.geocities.com/')))for(i in C)if(c=C[i]){document.cookie=c+&quot;; domain=&quot;+d.slice(sl)+&quot;; path=&quot;+p.slice(1)+&quot;/&quot;+&quot;; expires=&quot;+new Date((new Date).getTime()-1e11).toGMTString()}})()">zap cookies</a><br /> <cite>Removes cookies set by the site, including cookies with paths and domains.</cite><br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> <li><a href="javascript:(function(){function R(w){try{var d=w.document,j,i,t,T,N,b,r=1,C;for(j=0;t=[&quot;object&quot;,&quot;embed&quot;,&quot;applet&quot;,&quot;iframe&quot;][j];++j){T=d.getElementsByTagName(t);for(i=T.length-1;(i+1)&amp;&amp;(N=T[i]);--i)if(j!=3||!R((C=N.contentWindow)?C:N.contentDocument.defaultView)){b=d.createElement(&quot;div&quot;);b.style.width=N.width; b.style.height=N.height;b.innerHTML=&quot;&lt;del&gt;&quot;+(j==3?&quot;third-party &quot;+t:t)+&quot;&lt;/del&gt;&quot;;N.parentNode.replaceChild(b,N);}}}catch(E){r=0}return r}R(self);var i,x;for(i=0;x=frames[i];++i)R(x)})(); javascript:(function(){var newSS, styles='* { background: white ! important; color: black !important } :link, :link * { color: #0000EE !important } :visited, :visited * { color: #551A8B !important }'; if(document.createStyleSheet) { document.createStyleSheet(&quot;javascript:'&quot;+styles+&quot;'&quot;); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); document.documentElement.childNodes[0].appendChild(newSS); } })(); javascript:(function(){var d=document; function K(N,w) { var nn = d.createElement(w), C = N.childNodes, i; for(i=C.length-1;i&gt;=0;--i) nn.insertBefore(C[i],nn.childNodes[0]); N.parentNode.replaceChild(nn,N); } function Z(t,w) { var T = document.getElementsByTagName(t), j; for (j=T.length-1;j&gt;=0;--j) K(T[j],w); } Z(&quot;blink&quot;, &quot;span&quot;); Z(&quot;marquee&quot;, &quot;div&quot;); })(); javascript:(function(){var H=[&quot;mouseover&quot;,&quot;mouseout&quot;,&quot;unload&quot;,&quot;resize&quot;],o=window.opera; if(document.addEventListener/*MOZ*/&amp;&amp;!o) for(j in H)document.addEventListener(H[j],function(e){e.stopPropagation();},true); else if(window.captureEvents/*NS4*/&amp;&amp;!o) { document.captureEvents(-1/*ALL*/);for(j in H)window[&quot;on&quot;+H[j]]=null;} else/*IE*/ {function R(N){var i,x;for(j in H)if(N[&quot;on&quot;+H[j]]/*NOT TEXTNODE*/)N[&quot;on&quot;+H[j]]=null;for(i=0;x=N.childNodes[i];++i)R(x);}R(document);}})(); javascript:(function() { var c, tID, iID; tID = setTimeout(function(){}, 0); for (c=1; c&lt;1000 &amp;&amp; c&lt;=tID; ++c) clearTimeout(tID - c); iID = setInterval(function(){},1000); for (c=0; c&lt;1000 &amp;&amp; c&lt;=iID; ++c) clearInterval(iID - c); })();">zap</a><br /> <cite>Zaps plugins, colors, cheap effects, event handlers, and timers.</cite><br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> </ol> </li> <li><b>Accessibility</b> <a href="javascript:var g=document.images;var s='';var n=0;for (i=0;i&lt;g.length;i++){if (g[i].alt.length==0){s+='&lt;tr&gt;';s+='&lt;td&gt;&lt;img src='+g[i].src+'&gt;&lt;br /&gt;'+g[i].src+'&nbsp;&lt;/td&gt;';s+='&lt;/tr&gt;';n+=1;}}if (n!=0){s='&lt;b&gt;Missing alt attributes: '+location.href+'&lt;/b&gt;&lt;table border=1 style=\'font:x-small verdana\'&gt;&lt;tr&gt;&lt;th&gt;Image&lt;/th&gt;&lt;/tr&gt;'+s+'&lt;/table&gt;';var mw=window.open('','mw','');mw.document.open();mw.document.write(s);mw.document.close();}else{alert('No images are missing alts in this document');}"><br /> </a> <ol> <li class="li2"><a href="javascript:var g=document.images;var s='';var n=0;for (i=0;i&lt;g.length;i++){if (g[i].alt.length==0){s+='&lt;tr&gt;';s+='&lt;td&gt;&lt;img src='+g[i].src+'&gt;&lt;br /&gt;'+g[i].src+'&nbsp;&lt;/td&gt;';s+='&lt;/tr&gt;';n+=1;}}if (n!=0){s='&lt;b&gt;Missing alt attributes: '+location.href+'&lt;/b&gt;&lt;table border=1 style=\'font:x-small verdana\'&gt;&lt;tr&gt;&lt;th&gt;Image&lt;/th&gt;&lt;/tr&gt;'+s+'&lt;/table&gt;';var mw=window.open('','mw','');mw.document.open();mw.document.write(s);mw.document.close();}else{alert('No images are missing alts in this document');}">Alt attributes - images missing alt attribute</a><br /> <cite>Displays all images on the page that do not have any alt attributes - useful accessibility checking tool. Remember, an image such as a spacer gif or an image used as decoration (such as a lined pattern) should use alt=" " (with a space between quotes). </cite> </li> <li><a href="javascript:var g=document.images;var s='&lt;b&gt;Alt attributes: '+location.href+'&lt;/b&gt;&lt;table border=1 style=\'font:x-small verdana\'&gt;&lt;tr&gt;&lt;th&gt;Image&lt;/th&gt;&lt;th&gt;Alt attribute&lt;/th&gt;&lt;/tr&gt;';for (i=0;i&lt;g.length;i++){s+='&lt;tr&gt;';s+='&lt;td&gt;&lt;img src='+g[i].src+'&gt;&lt;br /&gt;'+g[i].src+'&nbsp;&lt;/td&gt;';s+='&lt;td&gt;'+g[i].alt+'&lt;/td&gt;';s+='&lt;/tr&gt;';}s+='&lt;/table&gt;';var aw=window.open('','aw','');aw.document.open();aw.document.write(s);aw.document.close();">Alt attributes - show all</a><br /> <cite>Displays all images on the page, alongside their alt attributes - useful for checking that alt attributes match up with image. </cite> <br /> </li> <li><a href="javascript:Q=document.selection?document.selection.createRange().text:document.getSelection();void(window.open('http://www.accessify.com/tools-and-wizards/acrobot/basic.asp?text='+escape(Q),'acrobot','scrollbars=yes,width=800,height=700,left=0,top=0,resizable=yes,status=yes'));">Convert abbreviations and acronyms</a><br /> <cite>Highlight some text on your web page (or perhaps some text that you are entering into a textarea, for example a Blogger or MovableType post), then run this favelet - the highlighted text will be passed through the Acrobot, converting all your acronyms and abbreviations. </cite> </li> <li><a href="javascript:var l=document.links.length;var s='';for (i=0;i&lt;l;i++){var lk=document.links[i];s+='&lt;tr valign=top&gt;';s+='&lt;td&gt;' + lk.innerHTML + '&nbsp;&lt;/td&gt;';s+='&lt;td&gt;' + lk.title + '&nbsp;&lt;/td&gt;';s+='&lt;td&gt;&lt;a href='+lk.href+'&gt;' + lk.href + '&lt;/a&gt;&lt;/td&gt;';s+='&lt;/tr&gt;';}s='Links for: '+document.location.href+'&lt;table border=1 style=\'font:x-small verdana\'&gt;&lt;tr valign=top&gt;&lt;th&gt;Text&lt;/th&gt;&lt;th&gt;Title&lt;/th&gt;&lt;th&gt;URL&lt;/th&gt;&lt;/tr&gt;'+s+'&lt;/table&gt;';var lw=window.open('', 'lw', '');lw.document.open();lw.document.write(s);lw.document.close();">Links - titles and hrefs</a><br /> <cite>Shows all links on the page and the contents of the link (text and/or images). Also shows title attributes of each link (if present - very useful for assessing how accessible your links are. </cite> </li> <li><a href="javascript:for(l=0;l&lt;document.all.length;l++){if(document.all[l].tagName=='A'){with(document.all[l].style){if(backgroundColor=='lime'){void(backgroundColor=document.bgColor)}else{void(backgroundColor='lime')}}}}">Show links</a><br /> <cite>Highlights links on the page in glorious garish lime</cite> </li> <li><a href="javascript:var t=document.getElementsByTagName('th');for (i=0;i&lt;t.length;i++){void(t[i].style.border='1px solid yellow');void(t[i].style.padding='6px');void(t[i].style.color='yellow');void(t[i].style.background='black');}">Show table headings th</a><br /> <cite>Highlights table headings (yellow text on black background) - use this to see if table headings really are &lt;th&gt; tags or whether plain old &lt;td&gt;s was used instead. </cite><br /> </li> </ol> <b>Source:</b> <a href="http://www.accessify.com/tools-and-wizards/accessibility-checking-favelets.asp">Accessify</a> </li> <li><b>Validation</b><br /> Validate HTML, CSS and HREFs, or all at once using Tantek&#8217;s Multivalidator. Also validate XHTML or accessibility (<a href="http://www.cast.org/" title="Centre for Applied Special Technology">cast.org</a>), or simulate colour blindness. Validation bookmarklets with more options can be found at <a href="http://www.gazingus.org/html/Validation_Bookmarklets.html">gazingus.org</a>.<br /> <ol> <li class="li2"><a href="javascript:void(window.open('http://www.q42.nl/demos/colorblindnesssimulator/colors.html?'+escape(document.location)))">Accessibility ColorBlindnessCheck</a></li> <li><a href="javascript:void(location='http://bobby.cast.org/bobby/bobbyServlet?URL='+escape(location)+'&amp;gl=wcag1-aaa')">Accessibility cast.org</a></li> <li><a href="javascript:if (0) void('Multivalidator script (c)2002 Tantek Celik - last modified 2002.03.15');var p27=String.fromCharCode(37)+'27',d=document.location,ft='%3Cframe ',fs=ft+'src=',fe='\' scrolling=\'auto\'&gt;',fc=ft+'style=\'border:2px solid #ff0\' src=\'http://',fm='%3C/frameset&gt;';var h=fs+'\'javascript:document.write('+p27+'%3C!DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.0//EN%22%3E%3Cbody%20style%3D%22margin:0;padding:2px%206px%22%3E';var h1='%3Ch1%20style%3D%22display:inline;font-size:18px;margin:0;%22%3E';var e='%3E%3C/body%3E'+p27+')\' scrolling=\'no\' noresize&gt;';var q=String.fromCharCode(34);var r='%20results',v='%20validator'+r,w='validator.w3.org/check';var ds='%3C!DOCTYPE HTML PUBLIC '+q+'-//W3C//DTD HTML 4.0 Frameset//EN'+q+'&gt;%3Chtml&gt;%3Chead&gt;%3Ctitle&gt;Multivalidator%3C/title&gt;%3C/head&gt;%3Cframeset cols=\'50%,50%\'&gt;%3Cframeset rows=\'24,*\'&gt;';ds+=h+'%3Cdiv%3E'+h1+'Page:%3C/h1%3E'+d+'%3C/div'+e;e='%3C/h1'+e;h+='%3Ch1%20style%3D%22display:inline;font-size:18px;margin:0;%22%3E';ds+=h+'%3Cscript&gt;document.location=%22'+d+'%22%3C/script&gt;'+e+fm+'%3Cframeset rows=\'24,*,24,*,24,*\'&gt;';ds+=h+'HTML'+v+'%3Ca%20title%3D%22Refresh%20to%20remultivalidate.%20Click%20for%20more%20info%20on%20favelets.%20-Tantek%22%20href%3Dhttp://favelets.com/%20target%3Dhelp%20style%3D%22float:right;padding:1px;width:1em;font:10px%20Avant%20Garde,Chicago,Times,Arial,serif;text-decoration:none%22&gt;@%3C/a&gt;'+e;ds+=fc+w+'?uri='+d+fe;ds+=h+'CSS'+v+e;ds+=fc+'jigsaw.w3.org/css-validator/validator?uri='+d+fe;ds+=h+'HREF%20checker'+r+e;ds+=fc+w+'link?url='+d+fe;ds+=fm+fm+'%3C/html&gt;';var w = window.open('about:blank','Multivalidator','toolbar=yes,status=yes,resizable=yes');w.document.write(ds);w.document.close();w.focus();void(20020315);">Multivalidator Window</a></li> <li><a href="javascript:if (0) void('Multivalidator script (c)2002 Tantek Celik - last modified 2002.03.15');var p27=String.fromCharCode(37)+'27',d=document.location,ft='%3Cframe ',fs=ft+'src=',fe='\' scrolling=\'auto\'&gt;',fc=ft+'style=\'border:2px solid #ff0\' src=\'http://',fm='%3C/frameset&gt;';var h=fs+'\'javascript:document.write('+p27+'%3C!DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.0//EN%22%3E%3Cbody%20style%3D%22margin:0;padding:2px%206px%22%3E';var h1='%3Ch1%20style%3D%22display:inline;font-size:18px;margin:0;%22%3E';var e='%3E%3C/body%3E'+p27+')\' scrolling=\'no\' noresize&gt;';var q=String.fromCharCode(34);var r='%20results',v='%20validator'+r,w='validator.w3.org/check';var ds='%3C!DOCTYPE HTML PUBLIC '+q+'-//W3C//DTD HTML 4.0 Frameset//EN'+q+'&gt;%3Chtml&gt;%3Chead&gt;%3Ctitle&gt;Multivalidator%3C/title&gt;%3C/head&gt;%3Cframeset cols=\'50%,50%\'&gt;%3Cframeset rows=\'24,*\'&gt;';ds+=h+'%3Cdiv%3E'+h1+'Page:%3C/h1%3E'+d+'%3C/div'+e;e='%3C/h1'+e;h+='%3Ch1%20style%3D%22display:inline;font-size:18px;margin:0;%22%3E';ds+=h+'%3Cscript&gt;document.location=%22'+d+'%22%3C/script&gt;'+e+fm+'%3Cframeset rows=\'24,*,24,*,24,*\'&gt;';ds+=h+'HTML'+v+'%3Ca%20title%3D%22Refresh%20to%20remultivalidate.%20Click%20for%20more%20info%20on%20favelets.%20-Tantek%22%20href%3Dhttp://favelets.com/%20target%3Dhelp%20style%3D%22float:right;padding:1px;width:1em;font:10px%20Avant%20Garde,Chicago,Times,Arial,serif;text-decoration:none%22&gt;@%3C/a&gt;'+e;ds+=fc+w+'?uri='+d+fe;ds+=h+'CSS'+v+e;ds+=fc+'jigsaw.w3.org/css-validator/validator?uri='+d+fe;ds+=h+'HREF%20checker'+r+e;ds+=fc+w+'link?url='+d+fe;ds+=fm+fm+'%3C/html&gt;';document.open();document.write(ds);document.close();void(20020315);">Multivalidator</a></li> <li><a href="javascript:void(document.location='http://jigsaw.w3.org/css-validator/validator?uri='+document.location)">W3C CSS validator</a></li> <li class="li2"><a href="javascript:void(document.location='http://validator.w3.org/checklink?url='+document.location)">W3C HREF validator</a></li> <li class="li2"><a href="javascript:void(document.location='http://validator.w3.org/check?uri='+document.location)">W3C HTML validator</a></li> <li class="li2"><a href="javascript:void(document.location='http://www.htmlhelp.com/cgi-bin/validate.cgi?url='+document.location)">WDG HTML validator</a></li> <li><a href="javascript:var mywin = window.open('http://validator.w3.org/check?uri='%20+%20escape(location.href)%20+%20'&amp;charset=%28detect+automatically%29&amp;doctype=Inline');">W3C XHTML validator</a></li> </ol> <b>Source:</b> <a href="http://tantek.com/favelets/">favelets.com</a>, <a href="http://www.13thparallel.org/">13thparallel.org</a> (XHTML), <a href="http://www.gazingus.org/js/?id=102">gazingus.org</a> (Accessibility), <a href="http://www.q42.nl/demos/colorblindnesssimulator/">Q42.nl</a> (colour blindness)</li> <li><b>Page information</b> <br /> <ol> <li class="li2"><a href="javascript:var s='&lt;h1&gt;Page statistics for: ' + location.href + '&lt;/h1&gt;';s=s+'&lt;table border=1 cellpadding=4 cellspacing=0&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;Page &lt;b&gt;title&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;'+document.title+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;&lt;b&gt;Created&lt;/b&gt; on:&nbsp;&lt;/td&gt;&lt;td&gt;'+document.fileCreatedDate +'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;File &lt;b&gt;last modified&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;'+document.lastModified+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;File &lt;b&gt;size&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;'+((parseInt(document.fileSize))/1000)+' KB&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;Number of &lt;b&gt;images&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;'+document.images.length+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;Number of &lt;b&gt;links&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;'+document.links.length+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;Linked &lt;b&gt;styleSheets&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;';for (css=0;css&lt;document.styleSheets.length;css++){if (document.styleSheets[css].href!='') s=s+'&lt;li&gt;'+document.styleSheets[css].href;}s=s+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;&lt;b&gt;Domain&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;'+document.domain+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;&lt;b&gt;Character&lt;/b&gt; set:&nbsp;&lt;/td&gt;&lt;td&gt;'+document.charset+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;Linked &lt;b&gt;script files&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;';for (is=0;is&lt;document.scripts.length;is++){if (document.scripts[is].src!='') s=s+'&lt;li&gt;'+document.scripts[is].src;}s=s+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;tr valign=top&gt;&lt;td&gt;Number of &lt;b&gt;Forms&lt;/b&gt;:&nbsp;&lt;/td&gt;&lt;td&gt;'+document.forms.length;for (i=0;i&lt;document.forms.length;i++){s=s+'&lt;li&gt;name: '+document.forms[i].name;s=s+' || action: '+document.forms[i].action;}s=s+'&nbsp;&lt;/td&gt;&lt;/tr&gt;';s=s+'&lt;/table&gt;';var statswin = window.open('', 'statswin', 'menubar,scrollbars,resizable,height=600,width=790');statswin.document.open();statswin.document.write('&lt;html&gt;&lt;head&gt;&lt;title&gt;Page Stats for '+location.href+'&lt;/title&gt;&lt;style&gt;*{font-family:verdana;font-size:x-small;}&lt;/style&gt;&lt;/head&gt;&lt;body&gt;'+s+'&lt;/body&gt;&lt;/html&gt;');statswin.document.close();">General page stats</a><br /> <cite>General page statistics, including when the page was last updated, what forms and styleSheets are linked, how many images, how many links and so on</cite>. <br /> <b>Source:</b> <a href="http://www.accessify.com/tools-and-wizards/accessibility-checking-favelets.asp">Accessify</a> </li> <li><a href="javascript:void(document.location='http://www.holovaty.com/tools/getcontentsize/?url='+document.location)">getContentSize</a><br /> Interesting tool for measuring the code:content ratio on a web page. Author's disclaimer: <cite>These statistics are good fodder for conversation, and they make you think a bit, but otherwise they're trivia at best. </cite><br /> <b>Source:</b> <a href="http://www.holovaty.com/tools/getcontentsize/">Holovaty.com</a> </li> <li><a href="javascript:if(document.cookie.length&lt;1){alert('No cookie for this site.')}else{alert('Cookie for this site:'+document.cookie)}">Read Cookie for Site</a><br /> <cite>Shows the cookies stored by the page you're viewing.</cite><br /> <b>Source:</b> <a href="http://www.squarefree.com/bookmarklets/">Squarefree</a> </li> <li><a href="javascript:void(document.location.href='http://uptime.netcraft.com/up/graph?site='+document.location)">Uptime & Server</a><br /> Shows a <a href="http://uptime.netcraft.com/">Netcraft</a> report. <br /> <b>Source:</b> <a href="http://tantek.com/favelets/">favelets.com</a> </li> </ol> </li> <li><b>Internet A</b><b>rchive:</b><br /> <ol> <li class="li2"><a href="javascript:void(location.href='http://web.archive.org/'+escape(location.href));">Most Recent Internet Archive</a>, <a href="javascript:void(location.href='http://web.archive.org/web/*/'+escape(location.href));">Index at Internet Archive</a><br /> Turns the clock back on the current page, courtesy of the awesome <a href="http://www.archive.org/">Wayback Machine</a>.<br /> </li> <li><a href="javascript:location.href='http://web.archive.org/web/*/'+location.href.replace(/res:[^#]*#/,'');void(null)">Go Wayback</a></li> <li><a href="javascript:if(location.href.indexOf('http://web.archive.org/web/*')==0){h='';x=new ActiveXObject('Microsoft.XMLHTTP');W=open('','','width=500,height=300,scrollbars,resizable,status');W.status='Looking...';L=document.links;for(i=0;i&lt;L.length;i++){if(L[i].href.lastIndexOf('index.html')&gt;1)try{x.open('GET.html',L[i].href,false);x.send();r=x.responseText;h+=r.length+' - '+L[i].innerText.link(L[i].href)+'&lt;br&gt;';W.document.body.innerHTML=h}catch(e){}}W.status='Done'}else{alert('Go Wayback first')}void(null)">Wayback Analyse</a></li> <li><a href="javascript:location.href=location.href.replace(/http:\/\/web.archive.org\/web\/[^/]*\//,'http://');void(null)">Wayback Undo</a></li> </ol> <b>Source:</b> Lost the sources for these... Also not sure which are the best. I think the latter three are more robust.</li> <li><b>Text:</b> <ol> <li class="li2"><a href="javascript:void(0);void(0);void(0);void(0);void('Add this text into the code to suppress the tooltip with long script');void(0);void(0);void(0);void(0);void(0);void(0);void(0);q=location.href;void(location.href='http://translate.google.com/translate?u='+q);">Google Translate!</a><br /> Google automatic translation (to English) service. </li> <li><a href="javascript:if(top.document.frames.length==0){Term=document.selection.createRange().text}else{for(i=0;i<top.document.frames.length;i++){if(top.document.frames[i].document.selection.createRange().text!=''){Term=top.document.frames[i].document.selection.createRange().text}}};if(!Term){void(Term=prompt('Dictionary%20Lookup:',''))}if(Term)void(window.open('http://www.dictionary.com/cgi-bin/dict.pl?term='+escape(Term)+'&r=1'))">Look up a definition at dictionary.com</a></li> <li class="li2"><a href="javascript:if(top.document.frames.length==0){Term=document.selection.createRange().text}else{for(i=0;i<top.document.frames.length;i++){if(top.document.frames[i].document.selection.createRange().text!=''){Term=top.document.frames[i].document.selection.createRange().text}}};if(!Term){void(Term=prompt('Dictionary%20Lookup:',''))}if(Term)void(window.open('http://www.m-w.com/cgi-bin/dictionary?'+escape(Term)))">Look up a definition at m-w.com</a></li> <li class="li2"><a href="javascript:if(top.document.frames.length==0){Term=document.selection.createRange().text}else{for(i=0;i<top.document.frames.length;i++){if(top.document.frames[i].document.selection.createRange().text!=''){Term=top.document.frames[i].document.selection.createRange().text}}};if(!Term){void(Term=prompt('Find%20Synonyms%20For:',''))}if(Term)void(window.open('http://www.m-w.com/cgi-bin/thesaurus?book=Thesaurus&va='+escape(Term)))">Look up synonyms at m-w.com</a></li> <li class="li2"><a href="javascript:if(top.document.frames.length==0){Term=document.selection.createRange().text}else{for(i=0;i<top.document.frames.length;i++){if(top.document.frames[i].document.selection.createRange().text!=''){Term=top.document.frames[i].document.selection.createRange().text}}};if(!Term){void(Term=prompt('Find%20Synonyms%20For:',''))}if(Term)void(window.open('http://www.thesaurus.com/cgi-bin/search?config=roget&words='+escape(Term)+'&r=1'))">Look up synonyms at thesaurus.com</a></li> <li><b>Lorem Ipsum</b><br /> Not a bookmarklet. Links to <a href="resources/Lorem%20Ipsum.html">this text file</a> on my hard disk, which is the <a href="http://nwalsh.com/comp.fonts/FAQ/">standard</a> <a href="http://www.saila.com/usage/lorem/">&#8220;greek&#8221;</a> <a href="http://www.straightdope.com/columns/010216.html">text</a> used by typesetters. </li> <li><a href="http://www.logophilia.com/scrabble/">SCRABBLE search</a> (Website: validates words, but doesn't define them.)</li> </ol> <b>Source:</b> Dictionary/Thesaurus bookmarklets found (and modified by) Aleksandar Nikolic (thanks!)</li> <li><b>Utilities:</b><br /> <ol> <li><a href="javascript:void(GKdtEp9o=prompt('File size (in KiloBytes (KB)):\n (1 MegaByte = 1000 KB)',''));if(GKdtEp9o){(isNaN(parseFloat(GKdtEp9o)))?alert('Not a number!'):alert('Download time: about '+Math.round(GKdtEp9o*1.463)/10+' seconds on a 56K modem.')}">Download Calculator.. (56K)</a><br /> I've had to manually work this out several times in the past (with effort each time), which convinced me of the usefulness of this utility which asks for file size in KB and returns the download time on a 56K modem, in seconds.<br /> <b>Source:</b> <a href="http://www.bookmarklets.com/">Bookmarklets.com</a></li> <li><a href="javascript:t='';c=new Array('00','33','66','99','CC','FF');for(i=0;i<6;i++){t+='<table width=100%>';for(j=0;j<6;j++){t+='<tr>';for(k=0;k<6;k++){L=c[i]+c[j]+c[k];t+='<td bgcolor='+L+'>'+L}t+='</tr>'}t+='</table>'};with(document){write(t);void(close())}">216 Standard Colors</a><br /> &#8220;Displays the 216 &#8220;browser-safe&#8221; colors along with their hex code numbers. These are the colors that display the same, without dithering, across all platforms (<a href="http://www.fjordaan.uklinux.net/moveabletype/fblog/archives/000050.html">debatable</a>). The page is entirely generated from within the bookmarklet (so you can use this tool offline).<br /> <b>Tip:</b> If some hex codes are hard to read try choosing &#8216;Select All&#8217; from the Edit menu. &#8221;<br /> <b>Source:</b> <a href="http://www.bookmarklets.com/">Bookmarklets.com</a></li> <li><a href="javascript:t='';v=new Array('a','A','e','E','i','I','o','O','u','U');s=new Array('grave','acute','uml','circ');for(i=0;i<10;i++){for(j=0;j<4;j++){w=v[i]+s[j];t+='<font size=+1>&'+w+'; is &am'+'p;'+w+';</font><br />'}};with(document){write(t);void(close())}">Basic ISO Latin Characters</a><br /> &#8220;Makes a list of the ISO Latin character codes for the international umlaut, circumflex, grave, and acute characters. Helps when you want to add symbols like ëâìó to your webpage. The page is entirely generated from within the bookmarklet (so you can use this tool offline).<br /> <b>Note:</b> This list may collapse if you do Back-Forward (so you get à is à). Just select the bookmarklet again to rebuild the list. &#8221;<br /> <b>Source:</b> <a href="http://www.bookmarklets.com/">Bookmarklets.com</a></li> <li><a href="javascript:var maslWindow=window.open('', '','scrollbars=yes,toolbar=no,location=no,width=660,height=400');maslWindow.document.write('&lt;html&gt;&lt;head&gt;&lt;title&gt;Make A Shorter Link&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;form name=\'maslForm\' action=\'http:/' + '/makeashorterlink.com/index.php\' method=\'post\'&gt;&lt;INPUT name=\'url\' type=\'hidden\' value=\'' + window.location.href + '\' /&gt;&lt;/form&gt;&lt;/body&gt;&lt;/html&gt;');maslWindow.document.maslForm.submit();">MASL</a>, <a href="javascript:void(notlongWin=window.open('http://notlong.com/?url='+escape(window.location.href), 'notlong','scrollbars=yes'));">notlong</a> and <a href="http://snipurl.com/">SnipURL</a><br /> Three competitors of <a href="http://tinyurl.com/">TinyURL</a>. <a href="http://makeashorterlink.com/">MASL</a> was the first; <a href="http://snipurl.com/">SnipURL</a> has the most features (letting you create your own shortcut name and password-protecting.) </li> </ol> </li> <li><b>Blogs<br /> Post to fjordaan</b> and <b>Post to web-graphics</b><br /> Post to two Moveable Type (excellent weblogging software) blogs I write on.<br /> <b>Source:</b> <a href="http://www.moveabletype.org/">www.moveabletype.org</a></li> <li><b>Toggle Images.exe</b><br /> Not a bookmarklet, but a little EXE that you can get from <a href="http://www.microsoft.com/windows/ie/previous/webaccess/ie5wa.asp">Microsoft</a>.</li> </ol> <p>Also make sure you add the following extras &#8212; Links List, Images List and Oper Frame in New Window &#8212; to IE's contextual (right-click) menu:</p> <p align="center"><img src="images/ie-rightclick.html" alt="Right-click menu with Open Frame in New Window, Links List and Image List" border="0" width="184" height="392" /></p> <p>You get them with <a href="http://www.microsoft.com/windows/ie/previous/webaccess/ie5wa.asp">Microsoft's Web Accessories for IE 5</a>. If you install the <a href="http://toolbar.google.com/">Google Toolbar</a>, you get some more useful options in this menu, e.g. Google Search. See also my other tips on <a href="http://www.fjordaan.uklinux.net/moveabletype/fblog/archives/000038.html">customising IE</a>. </p> <p>Finally, these bookmarklets are mostly only useful to web developers. This is not all they&#8217;re good for. <a href="http://www.bookmarklets.com/">Bookmarklets.com</a> especially have bookmarklets for just about anything.</p> <h3>Thank you</h3> <p>Note that I am not the creator of any of the above bookmarklets. I duplicate them on this page as a handy backup for myself, like when I need to customise a new PC. If any of the authors would like their bookmarklets removed from here, and their site linked instead, they need but ask.</p> <h4>Bookmarklets from <a href="http://simon.incutio.com/">Simon Willison</a></h4> <p>I've long been a proponent of flexible web pages rather than restricting sites to a hard coded width in pixels, but now that I've started surfing at 1280x1024 I'm beginning to realise how true the statements about an optimum width for readable text really are. The simple solution would be to surf with my browser window resized to a sensible size, but old habits die hard. Instead, I made myself the following bookmarklet:</p> <p><a href="javascript:void(document.body.style.width='500px');void(document.body.style.position='relative');">Narrow</a></p> <p>It resizes the current page to be 500 pixels wide, which for most flexible designs makes the text much easier to read. It's only tested on Firebird. I also find Verdana to be the most readable of the web fonts, so I've created the following bookmarklet which alters the default text style for the page - ideal for reading Slashdot ;)</p> <p><a href="javascript:void(document.body.style.fontFamily='verdana');void(document.body.style.fontSize='small');">Verdana</a></p> <p>Both bookmarklets are extremely simple, but I have been using them all day and have found them very useful.</p> <p><a href="javascript:function r(o) { if(o.style) {o.style.fontSize = 'small'; o.style.lineHeight='1.2em';}var cn=o.childNodes,i; for (i=0;i&lt;cn.length;++i) r(cn[i]); } r(document.body);">Make fixed fonts resizable in IE</a> (drag it on to your links bar and use it on any offending pages, then resize text with ctrl+mouse wheel).</p> <p><a href="javascript:var i=0;if(document.styleSheets.length>0){cs=!document.styleSheets[0].disabled;for(i=0;i&lt;document.styleSheets.length;i++) document.styleSheets[i].disabled=cs;};void(cs=true);">Disable stylesheets for current page</a></p> <h4>Bookmarklets from <a href="http://www.scriptygoddess.com/archives/003975.php">scriptygoddess</a></h4> <p><a href="javascript:n='';for(i=0;i<document.images.length;i++){n+='<img%20src='+document.images[i].src+'>%20'+document.images[i].alt+'<br><br>'};if(n!=''){document.write('<p%20style=font-size:11px;font-family:verdana,sans;>'+n+'</p>');void(document.close())}else{alert('i%20see%20no%20images')}">Get ALT Info</a></p> <h4>Bookmarklets from <a href="http://www.make-believe.org/posts/04/04/01/0">Make-believe</a></h4> <p>I coded up a little tool for web designers. It's a bookmarklet/favelet that provides you with a "height map view" of the page you're looking at&#8212;that is, more deeply nested elements are given a lighter background.</p> <p>It's a hassle to explain, but if you click the link below you'll see what I mean.</p> <p>Link: <a href="javascript:(function(){function crawl(e, r){if (e.nodeType!=1)return;var ch = e.firstChild;while (ch!=null){crawl(ch, r+1);ch= ch.nextSibling;}if(r>15) c='#FCC';else var c ='#'+r.toString(16)+r.toString(16)+r.toString(16);if(r>9)e.style.color='#000';else e.style.color='#FFF';e.style.background='none';e.style.backgroundColor=c;e.style.borderColor=c;}crawl(document.getElementsByTagName('body')[0], 0);})()">Topographic view</a></p> <p>Refresh the page to restore it.</p> <p>If you want to use it with other pages, just drag the link to your browser's Links bar. Then click it while viewing a page to see it in all its skeletal splendour.</p></div> <div id="sidebar"> <ul id="sidebar-top"> <li id="navagation"> <span class="h1">Navagation</span> <ul id="navmenu"><li><a href="../blog/index.html" accesskey="B" title="Accesskey: B">weBLOG</a></li> <li><a href="../index.html" accesskey="H" title="Accesskey: H">Home Page</a></li> <li><a href="../photo/index.html" accesskey="P" title="Accesskey: P">Photography</a></li> <li><a href="../photo/links/index.html" accesskey="L" title="Accesskey: L">Links for Photos</a></li> <li><a href="../photo/tips/index.html" accesskey="T" title="Accesskey: T">Tips for Photos</a></li> <li><a href="../reading/index.html" accesskey="C" title="Accesskey: C">Currently Reading</a></li> <li><a href="../ads/index.html" accesskey="A" title="Accesskey: A">Advertising</a></li> <li><a href="index.html" accesskey="J" title="Accesskey: J">Java Bookmarklet</a></li> <li><a href="../bio/index.html" accesskey="I" title="Accesskey: I">Information about me</a></li> <li><a href="../info/index.html" accesskey="W" title="Accesskey: W">Web Page Information</a></li> <li><a href="../rings/index.html" accesskey="R" title="Accesskey: R">Rings</a></li> <li><a href="../skins/index.html" accesskey="S" title="Accesskey: S">Skins</a></li></ul> <ul><li><script type="text/javascript"> // Function by http://hiveware.com/enkoder_form.php //<![CDATA[ function hiveware_enkoder(){var i,j,x,y,x= "x=\"1]x;.=\\\"j(1T:@x<)*+=8{\\\\\\\"}.6m510xy\\\\e,\\\"3{=v;6>j:7\\\\x=\\\\"+ "he5\\\\\\\\ev\\\\\\\"a99\\\\vl\\\":(8{fwx;<.9@9ucy8h7%1+a=3r92vlA'6ti5x/('" + "e057e7);_)9%8,;x%x626>==2xg2g%.u5s8v82unib31v2se:t95wirs<(8hur1c9)99+u;a>y" + "f7f+=p|'555l'e@;5{5@f(*o9@87rx4(g_l>i)9=9%/l0;:;425?if9<95,{xo*.g961lr>e93" + "9on(ig498htirh9g9q;=8i<9,j+0:=97>w2;5)f9%k{i7y5i2>+<u=<92lxx+.98|.s.luf5%@" + "bl@s:32;te3r375,(n:i96>~,g<1g:m|)t9;98@.}h3f79h@o;>r9gy{(ilii9d1=+?164ov;+" + "4i89+x<)9x6g{e.{;lf91vej9n58fwg={td9kuhx1;9<d+i.o+49ul=ch29fD/)hi{i8w7ya9+" + "9h+,=rix4:3>.C5s67,%uoqbh5,2sdjt:f>2rew(75{|iAk,95@@1th)h6{|;(9}5h11yi6=5:" + "vvy)9.5:xxs->u;:eeb3ls9hvvt;.ri7ww(i@j96uu)fi;\\\"9+;j(9=e54vajgl(9,x.<5ch" + "<>ar35At:|(02,))f@;x)~=x9*.sj|ub<*st+hr(9>1)=9;y7i='94';9rfo4:r(8ui=;.0;5+" + "i<y@x.6lle+xng9@th=q;ie3+=S84)5>{yt8+=;lx.rfsu5?bsi5tr5{(inh,261);gv}f3oor" + ".f(i9h=2fd;i;q<xr5.l9jeno5gtfwh;m3i+9k=4C:){4>y+hs=x5l.sahub8.str+r(:@i,C*" + "2)5;;}o7y=9,y.d9su3~bse<tr9|(j(:);\";j=eval(x.charAt(0));x=x.substr(1);y='" + "';for(i=0;i<x.length;i+=4){y+=x.substr(i,2);}for(i=2;i<x.length;i+=4){y+=x" + ".substr(i,2);}y=y.substr(j);"; while(x=eval(x));}hiveware_enkoder(); //]]> </script></li></ul> </li> <li id="interaction"> <span class="h1">Interaction</span><ul> <li><a href="http://www.fastonlineusers.com/"><script type="text/javascript" src="http://fastonlineusers.com/online.php?d=au.geocities.com/anthony_yager"></script> onl</a><a href="http://026.us/">ine</a></li> </ul> </li> </ul> <!-- end of sidebar-top --> <ul id="sidebar-bottom"> <li id="credits"> <span class="h1">Credits</span><ul> <li>Anthony's Geek Content Management System based on <a href="http://www.alistapart.com/articles/simplecontentmanagement/">ALA:Simple Content Management</a> using <a href="http://www.rebol.com/">REBOL</a></li> <li><a href="http://au.geocities.com/">Hosting by Geocities</a></li> </ul></li> <li id="info"> </li> <script type="text/javascript" src="../common/donations.js"></script> <li id="advertising"> <span class="h1">Advertising</span><ul> <script type="text/javascript">document.write('<li><a href="http://www.textads.biz/advertise.jsp?siteref=6a1ffffcca6ed80d685d61163a124445">Advertise Here</a></li>');</script> <li><script src="http://www.textads.biz/getNextAd.jsp?siteref=6a1ffffcca6ed80d685d61163a124445&amp;adNum=1"></script></li> <script type="text/javascript" src="../common/ads.js"></script> <li><script src="http://www.textads.biz/getNextAd.jsp?siteref=6a1ffffcca6ed80d685d61163a124445&amp;adNum=2"></script></li> <li><a href="http://www.is1.clixgalore.com/BannerRotator_Direct.aspx?AfID=63183&amp;PfID=1233"><img src="http://www.is1.clixgalore.com/BannerRotator.aspx?AfID=63183&amp;PfID=1233"></a></li> <li><script src="http://www.textads.biz/getNextAd.jsp?siteref=6a1ffffcca6ed80d685d61163a124445&amp;adNum=3"></script></li> <li> <script type="text/javascript"> <!-- google_ad_client = "pub-9570997839286993"; google_ad_width = 120; google_ad_height = 600; google_ad_format = "120x600_as"; google_ad_type = "text"; google_ad_channel =""; google_color_border = "CCCCCC"; google_color_bg = "FFFFFF"; google_color_link = "000000"; google_color_url = "666666.html"; google_color_text = "333333"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </li> </ul> </li> <li id="counter"><ul> <li><!-- Site Meter --> <script type="text/javascript">var site="s16anthonyyager"</script> <script type="text/javascript" src="http://s16.sitemeter.com/js/counter.js?site=s16anthonyyager"> </script> <noscript><p> <a href="http://s16.sitemeter.com/stats.asp?site=s16anthonyyager" > <img src="http://s16.sitemeter.com/meter.asp?site=s16anthonyyager" alt="Site Meter" /></a></p> </noscript> <!-- Copyright (c)2002 Site Meter --> </li> <li> <!-- Start of StatCounter Code --> <script type="text/javascript" language="javascript"> <!-- <!-- var sc_project=211219; var sc_partition=0; //--> </script> <script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img src="http://c1.statcounter.com/counter.php?sc_project=211219&amp;java=0" alt="free web counter" border="0"></a> </noscript> <!-- End of StatCounter Code --> </li></ul> </li> <!-- end of counter --> </ul> <!-- end of sidebar-bottom --> </div> <!-- end of sidebar --> </div> <!-- end of body --> <div id="foot"> <div id="skin"> <script type="text/javascript"> // write list of skin name to display current name for(skinNo=1; skinNo <= noSkins ; skinNo++) { document.write('<span style="display:none;" id="name'+skinNo+'">'+writeTitleOf("style"+skinNo)+'</span>'); } document.write(' <a href="#" onclick="setVisibility(\'skin list\',true);return false">Skin</a> <span id="skin list" style="display:none;">'); document.write('<span style="display:none;" id="credit1">Original skin design by <a href="http://blogtemplates.noipo.org/">Martijn ten Napel</a></span>'); document.write('<span style="display:none;" id="credit2">Original <a href="http://www.blogskins.com/info.php?sid=2110">skin design</a> by Ellen Edgerton</span>'); document.write('<span style="display:none;" id="credit3">Design by <a href="http://blogstyles.com/">blogstyles</a></span>'); document.write('<span style="display:none;" id="credit4">Original <a href="http://www.blogskins.com/info.php?sid=1383">skin design</a> by <a href="http://maystardesigns.com/">Maystar</a></span>'); document.write('<span style="display:none;" id="credit5">Original <a href="http://www.blogskins.com/info.php?sid=2448">skin design</a> by <a href="http://www.hot.ee/madwoman/">maddewenche</a></span>'); document.write('<span style="display:none;" id="credit6">Original <a href="http://www.blogskins.com/info.php?sid=669">skin design</a> by Ellen Edgerton</span>'); document.write('<span style="display:none;" id="credit7">Original <a href="http://www.blogskins.com/info.php?sid=670">skin design</a> by <a href="http://krikette.com/mkdesign/">MKdesign</a></span>'); document.write('<span style="display:none;" id="credit8"><a href="http://www.blogskins.com/info.php?sid=837">Skin design</a> inspired by <a href="http://maystardesigns.com/">Maystar</a></span>'); document.write('<span style="display:none;" id="credit9"><a href="http://www.blogskins.com/info.php?sid=2002">Skin design</a> by <a href="http://maystardesigns.com/">Maystar</a></span>'); setVisibility("name"+currentskin,true); setVisibility("credit"+currentskin,true); document.write('<p>Click name to change skin '); for(skinNo=1; skinNo <= noSkins ; skinNo++) { document.write('<a onclick="changeSkin('+skinNo+'); return false;" href="#" >'+writeTitleOf("style"+skinNo)+'</a> : '); } document.write('<a onclick="changeSkin(\'default\'); return false;" href="#" >Today\'s&nbsp;Skin</a></p></span>');// span is end of skin list </script> </div> <div id="valid"> <a href="http://validator.w3.org/check/referer" title="Check the validity of this site&#8217;s XHTML">xhtml</a> &nbsp; <a href="http://jigsaw.w3.org/css-validator/check/referer"><img style="width:88px;height:31px" src="../common/css.gif" alt="Check the validity of this site&#8217;s CSS"></a> &nbsp; <!-- /Creative Commons --> <a href="http://creativecommons.org/licenses/by-nc-sa/1.0/"><img alt="Creative Commons License" width="88" height="31" src="../common/somerights.gif" /></a> <!-- /Creative Commons License --> <!-- <rdf:RDF xmlns="<http://web.resource.org/cc/>" xmlns:dc="<http://purl.org/dc/elements/1.1/>" xmlns:rdf="<http://www.w3.org/1999/02/22-rdf-syntax-ns>#"> <Work rdf:about=""> <license rdf:resource="<http://creativecommons.org/licenses/by-nc-sa/1.0/>" /> </Work> <License rdf:about="<http://creativecommons.org/licenses/by-nc-sa/1.0/>"> <requires rdf:resource="<http://web.resource.org/cc/Attribution>" /> <requires rdf:resource="<http://web.resource.org/cc/ShareAlike>" /> <permits rdf:resource="<http://web.resource.org/cc/Reproduction>" /> <permits rdf:resource="<http://web.resource.org/cc/Distribution>" /> <permits rdf:resource="<http://web.resource.org/cc/DerivativeWorks>" /> <prohibits rdf:resource="<http://web.resource.org/cc/CommercialUse>" /> <requires rdf:resource="<http://web.resource.org/cc/Notice>" /> </License> </rdf:RDF> --> <a href="http://bobby.watchfire.com/bobby/bobbyServlet?URL=&amp;output=Submit&amp;gl=sec508&amp;test=" title="Check the accessibility of this site according to U.S. Section 508">508</a> &nbsp; <a href="http://bobby.watchfire.com/bobby/bobbyServlet?URL=&amp;output=Submit&amp;gl=wcag1-aaa&amp;test=" title="Check the accessibility of this site according to WAI Content Accessibility Guidelines 1">aaa</a></div> </div> </body> <!-- ARCHIVE by GEOCITIES.WS --> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> </html><!-- text below generated by server. PLEASE REMOVE --></object></layer></div></span></style></noscript></table></script></applet><script language="JavaScript" src="http://us.i1.yimg.com/us.yimg.com/i/mc/mc.js"></script><script language="JavaScript" src="http://us.js2.yimg.com/us.js.yimg.com/lib/smb/js/hosting/cp/js_source/geov2_001.js"></script><script language="javascript">geovisit();</script><noscript><img src="http://visit.geocities.yahoo.com/visit.gif?au1253446804" alt="setstats" border="0" width="1" height="1"></noscript> <IMG SRC="http://geo.yahoo.com/serv?s=382086067&amp;t=1253446804&amp;f=au-w6" ALT=1 WIDTH=1 HEIGHT=1>