Posts by esquifit on scripts

Subscribe to Discussions on your scripts 19 posts

Sep 2, 2008

Google Groups - Single Page Listings: Archived Comments

Works fine and it is fast as well, thank you. One suggestion for avoiding re-inventing the wheel: Did you consider using Johan Sundström's "unpagination framework"[1]? See the many (~20 at this time) examples of use by Johan himself.

[1] http://userscripts.org/scripts/show/23175

 
Jun 27, 2008

japanize kane kosugi diary: Archived Comments

Interesting experiment. Unfortunately it seems to be broken in Firefox 3 (in FF 2.0.0.14 it works fine).

 
Jun 24, 2008

Add Gravatar Everywhere: Archived Comments

Nice idea. I have a couple of suggestions:
1) Cache the mail addresses in order to avoid calculating the md5 multiple times(and making repeated requests to gravavtar.com, although Firefox should handle this already)
2) Cache the images themselves as base64-encoded strings via GM_set/getValue. The current date can also be cached so you can force a new request to gravatars.com in case the cached image is older than, say, one month.

Incidentally this would be highly reusable code. Consider making a library (for caching serialized objects up to a given amount of time) now that GM supports it natively.

 
May 4, 2008

RSS Panel X: Archived Comments

The script is (partially) broken in Firefox 3 when the feed url redirects(301) to another one, since GM_xmlhttpRequest does not follows redirections automatically anymore. You can check it for example at

http://roachfiend.com/.

I do not know whether the problem lies in Firefox or Greasemonkey; someone has already reported the issue to the Greasemonkey list, but AFAIK there is still no answer from the main developers. Luckily you can resolve the redirection within your script like in this example:

http://groups.google.com/group/greasemonkey-use...

 
Mar 2, 2008

Autologin: Archived Comments

Concerning my last comment, see https://bugzilla.mozilla.org/show_bug.cgi?id=37...

 
Dec 31, 2007

Autologin: Archived Comments

Support for parameter values containing the '&' sign is broken again (see my comments at the bottom). This is due to the fact that location.hash automatically resolves any occurrence of '%26' into '&'. On the other hand, location or location.href do not do the conversion. Not sure whether a feature or a bug, because normally no '&'-separated 'param=value' pairs are expected after the '#' (no idea if the URL specs forbids this).

 
Dec 16, 2007

Delicious add url permalinks: Archived Comments

Actually, in this particular case you do not need the md5 stuff, since
http://del.icio.us/url?url={original url}
already redirects to
http://del.icio.us/url?url={md5-hashed url}

 
Jan 13, 2007

FindScripts: Archived Comments

Great! Thank you very much. This script makes life much easier!

 
Jan 2, 2007

Google Maps Multi-Line Inputs: Archived Comments

It does work as of Jan. 2nd 2007. Alternatively you can set the user preference 'editor.singleLine.pasteNewlines' to a value of '2'; this results in newlines being replaced by spaces upon pasting into any input field (also in chrome).

 
Dec 22, 2006

Gmail - Find Thread in Google Groups: Archived Comments

Wow! I was planning to write this very same script since a couple of months (although I also wanted a GM specific version for finding the 'old' posts in the GM archive at mozdev.org). Great that someone else has bothered to do it for me! ;-)

Unfortunately it only works if you use GMail in English, which is not my case. I've noticed that changes in the GMail UI are always first introduced into the English UI, and then progressively for the rest of languages. If I am not wrong, every GMail script file carries a version number that could be checked in the GM script to see whether it is compatible with the UI version in use, or to enable version/language specific features.

 
Sep 2, 2006

Stream MP3 new: Archived Comments

You can make the script independent of any external sever; just replace the line

m3u_link.setAttribute('href', 'http://elektroelch.de/streammp3/stream.m3u?s=' + escape(mp3_links[i].href));

with

m3u_link.setAttribute('href', 'data:audio/x-mpegurl,' + escape(mp3_links[i].href));

This forces the application type to be audio/x-mpegurl without the need to resort to your sever for the conversion. Long life to the 'data:' pseudo-protocol! ;)

 
Jul 15, 2006

AmazonCartHelper : Archived Comments

Nice idea, even for arbitrary domains, not only Amazon. As a technical note, it is inefficient to put the "mkfunc" function definition inside the loop, the proper place is outside the main function. Also, the global anonymous function is no longer necessary in GM 0.6.4, as each script gets its own context, and thus there is no risk of variable clash across scripts or with scripts in page content.

 
Jul 8, 2006

Google Calendar Wheel Viewer: Archived Comments

A superb example of a clever and cleanly written script. Five stars for both idea and realisation. Many thanks!

 
Jul 2, 2006

fav.icio.us: Archived Comments

Fix for ff 1.5.x + GM 0.6.4: Just replace favicon.onXXX by favicon.wrappedJSObject.onXXX. For an in-depth explanation of what's going on see:
[1] http://www.oreillynet.com/pub/a/network/2005/11...
[3] http://developer.mozilla.org/en/docs/XPCNativeW...
[2] http://kb.mozillazine.org/XPCNativeWrapper

Thanks for this nice script.

 
Jan 2, 2006

Google open all: Archived Comments

Regarding my previous comment: I use another (unpublished) script of mine that also clashes with this one; there is a slightly better XPath for detecting the main div that circunvents this problem: "//div[.//p[@class='g']]".

 
Jan 2, 2006

Google open all: Archived Comments

Thanks for this useful script. There is still a little problem in that it interferes with others scripts that insert DIVs before the main results DIV, such as 'Babel Mousish' (http://userscripts.org/scripts/show/1808). You cannot rely on the assumption that the first div is the main one. I've altered the script so that it now looks for the DIV containing a P child of class 'g':
Original code
// var resultdiv = document.getElementsByTagName('div')[0];
My version:
var resultdiv =
document.evaluate("/html/body/div[./p[@class='g']]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;

There are two places in your script where this have to be done.
Other than that, very nice script, thank you very much.

 
Dec 31, 2005

ExpandArea : Archived Comments

The script fails in those pages that use the onload attribute in the body tag, and also on some others that manipulate the onload event in some way, eg. http://del.icio.us/settings/<your_name>/bundle
I think there is no need to wait until the onload event, I just replaced
'window.addEventListener("load", setup, false);'
by a direct call 'setup();' at the end of the script, and now it works fine everywhere.</your_name>

 
Nov 27, 2005

Autologin: Archived Comments

Regarding my previous comment: the solution amounts to just replacing 'q[1]' by 'decodeURIComponent(q[1])' in the last but one line of the script. In this way you can use the url-encoded values in the parameters string.

 
Nov 27, 2005

Autologin: Archived Comments

Fine. Anyway, there's a problem with form parameters containing an '&'; in this case using '&' directly in the url causes the script to split the parameters list in a wrong way, whereas replacing it by '%26' doesn't work because this is not decoded back to '&'.