wikilove fails on classic skin
Closed, ResolvedPublic

Description

https://secure.wikimedia.org/wikipedia/en/wiki/Wikipedia:Village_pump_(technical)#Wikilove_link_not_working_in_Classic_skin

"whilst it looks ok in the default Vector skin, all I get in Classic is a badly formatted text link, which doesn't do anything when I click it (see [3] for preview)"

https://secure.wikimedia.org/wikipedia/en/w/index.php?title=User:Optimist+on+the+run&useskin=standard


Version: unspecified
Severity: major

Details

Reference
bz29668
bzimport set Reference to bz29668.
TheDJ created this task.Jul 1 2011, 12:19 PM
brion added a comment.Jul 1 2011, 6:31 PM

The JS bindings check explicitly for a link inside a tab with id ca-wikilove; this works on Vector and Monobook, but on Classic skin (in 1.17 and current SVN trunk) it ends up with a bare <a href="#">, not inside a surrounding tab. So the link is there, but isn't found by the bindings in $.wikiLove.init():

		var $wikiLoveLink = $( '#ca-wikilove' ).find( 'a' );
		$wikiLoveLink.unbind( 'click' );
		$wikiLoveLink.click( function( e ) {
			e.preventDefault();
			$.wikiLove.openDialog();
		});

Since there's no actual destination URL specified, the link is also completely useless if JavaScript is disabled, for any skin.

If a non-JavaScript behavior is not possible, the tab should either not be added in the original HTML, or it should at least be hidden by default CSS that's undone when JS is available.

Fixed in r91320.

brion added a comment.Jul 1 2011, 11:08 PM

r91320 is incomplete hardcodes a check for the old 'standard' skin and fails to apply the fixup to other legacy skins such as cologneblue.

True. Better fix in r91323.

Add Comment