What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 127 Stack Exchange communities.

I often wish my profile page on SO shows me the diff in votes for my questions / answers since last time I checked.

Since the SO team has more important things to worry about I decided to add this myself using a greasemonkey script: Stack Overflow: New Votes.

After you install the script , the first time you visit your user page it remembers how many votes each of your questions/answers has.
Upon every subsequent visit, if any of your questions has new up votes or down votes they are displayed next to the number [(+2) 14 votes] instead of just [14 votes].
The data is saved locally and updated every time you visit you profile page.

I have only tested with Firefox3 on WinXP but it should work across OSes and FF versions.

I hope you find this useful, if you have any problems bugs / feature requests let me know in the answers.

Cheers

Edit: Now also shows the total reputation increase / decrease.

share|improve this question

migrated from stackoverflow.com Aug 5 '09 at 3:11

This question came from our site for professional and enthusiast programmers.

    
This script seems to have been broken where it tries to get the user id and I'm not good enough at Javascript to fix it myself. –  unholysampler Jan 11 '11 at 16:20
    
can this please be moved to stackapps.com/?tab=scripts as necessary? Or flag for deletion. –  Jeff Atwood Jul 31 '11 at 22:56
add comment

5 Answers

Check this http://stackoverflow.com/questions/61553/track-your-reputation.

share|improve this answer
1  
your link seems dead... –  fretje Dec 11 '09 at 13:46
add comment

Both other options are interesting, but one of them requires running external applications, the other requires accessing an external server (where anyone can view your page and mess your stats , or can go offline ...), this solution works locally in the browser.

Eventually I hope the SO team implements this officially so none of the hacks will be needed.

share|improve this answer
add comment

Regarding SCdF: You want to do;

// Check if jQuery's loaded
function GM_wait() {
    if (window.opera) {
    var unsafeWindow=window;
    }
    if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
    else { $ = unsafeWindow.jQuery; letsJQuery(); }
    }
GM_wait();

to make it happen as userscript in Opera.

Good luck

share|improve this answer
add comment

Hmm, doesn't seem to work in Opera (9.52 under Linux)

Opera has had user JS (basically just injecting script imports into pages) for years and the last couple have also support Greasemonkey-type JS files, which I've used and are using successfully, so I'm not sure what's breaking.

Could possibly be because your script has a dependency on JQuery.. but the SO pages import JQuery so I would assume it would be allowed to access that stuff.

From a brief look at the code (I'm not really that up on JS) it should be popping up an alert() if it fails to find JQuery anyway, and I'm not getting that either.

Will have a play and see if I can get it working..

Edit: I have to go to work now, but in the 2min I've spent, it if failing in GM_wait():

function GM_wait() {
    alert('entering GM_Wait'); // fires
	if(typeof unsafeWindow.jQuery == 'undefined') { 
	    alert('fail'); // never fires
	    window.setTimeout(GM_wait,100); 
	} else {
	    alert('win'); // never fires
	    $ = unsafeWindow.jQuery;
	    letsJQuery();
	}
}

Basically unsafeWindow is not defined.. it may be that Opera just doesn't support this sort of thing.

Will play more when I get time..

share|improve this answer
    
Unfortunately unsafeWindow is a greasemonkey object (and an ugly hack) if there is a better way to access jQuery I am fully open to it. –  Pat Sep 24 '08 at 21:59
    
Yeah, I think that Opera's greasemonkey support is just a bit fail. All the scripts I've run before don't use any GM-specific vars –  SCdF Sep 24 '08 at 23:26
add comment

I had to insert this line at line 39:

    if (typeof previous_votes.reputation == 'undefined') previous_votes.reputation = {};

Firefox 3, Vista. (Complained about previous_votes.reputation being not defined on the first run)

share|improve this answer
    
Thanks, actually I forgot to initialize that at line 28, updating the script. –  Pat Sep 29 '08 at 9:31
add comment

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .