Flickr Functional Suite

By Charles Tilford Last update Aug 4, 2006 — Installed 3,482 times.

Archived Comments (locked)

in
Subscribe to Archived Comments 6 posts, 4 voices



Jesse Andrews Admin

The following is an archive of comments made before threaded discussions was implemented (November 16th, 2008)

 
decembre Scriptwright

Somme User link don't display the assign color example : !Esco & Güilmon!

Maybe these signs :
û , ! , & are not recognize

Can you help me and us by the same way?

Here some additional comment

 
Charles Tilford Script's Author

Thanks again, another excellent suggestion. Implemented, a spin-off advantage is that if you like ctrl/middle-clicking to open tabs, the original links will still function in that mode.

Along the same Play Nice With Others lines, I tried a variety of schemes to colorize the user links differently - rather than chopping the user names into pieces, I tried to float colored divs/spans under the username, to leave the username text uninterupted. Experiment failed miserably; I always seem to enter the lower level of CSS hell when trying to get float, position and width to get along together...

 
John Carney User

No problems :) Here's another one: it affects one of steev's scripts, probably others. Basically you overwrite the 'href' attribute on the username links. This is a bit rude because it will cause havoc with other GM scripts that look for those URLs.

The reason you are doing it is so that when someone clicks on a username link to bring up your menu, the browser doesn't follow the link. There is a much better way of achieving this. In Mozilla/Firefox you can prevent the browser from following a link by calling e.preventDefault() in your click handler, where e is the event object that is passed into your event listener.

You need to fix two functions:

in armUserPhotosLink, remove the line that read "el.href = 'javascript:void(0)'" and replace the lines beginning with "el.addEventLister" with the following code:

el.addEventListener(
'click',
function (e) {
e.preventDefault () ;
return CatFlickrSuite.userPhotoClick(this, e) ;
},
false
);

Now, in insertSettings, remove the line that reads "setL.href = 'javascript:void(0)'" and replace the lines beginning with "setL.addEventLister" with the following code:

setL.addEventListener(
'click',
function (e) {
e.preventDefault () ;
return CatFlickrSuite.settingsClick(this, e) ;
},
false
);

Cheers :)

 
Charles Tilford Script's Author

Wow, nice catch, can't believe you found that. I actually hit a user name this morning with an asterisk and was puzzling over why it was failing. I implemented your fix; I had tried looking for the equivalent of Perl's \Q..\E a few weeks ago for another RE, but gave up and forgot it was an issue.
Thanks!

 
John Carney User

Great script, but I found a bug. At line 943 you pass a user's display name harvested from the page directly into a RegExp constructor. This causes problems when user's have RE significant characters in their display name. The problem can be fixed by changing line 943 to read as follows:

var matcher = new RegExp (term.replace (elipre,'').replace (/([(){}.^$*?+[\]\\])/g, '\\$1') + '.+$') ;