User:ImprovedWikiImprovment/entab.js

From Wiktionary

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// [[User:Djsasso/enWPTab.js]] Place credit where credit due. I imported to tinker with it. 
// [[User:Krenair]] debugged and made the script work after I gave up
// I adapted this from Operator873's simplewiki enWPTab.js for simplewikt

// Define "entabMainTab" variable before cloning it.
var entabMainTab = $('#left-navigation li:not(.selected)').slice(0,1).css('opacity','0.9');
 
// Clone main page tab
var entabTab = entabMainTab.clone(true).attr('id', entabMainTab.attr('id')+'-').css('opacity','0.9').removeClass('new');
 
// Construct URL for English Wiktionary
var entabURL = '//' + 'en.wiktionary.org/wiki/' + wgPageName;
 
// Set English Wiktionary tab URL, text, and title 
entabTab.find('a').attr('href', entabURL).empty().text('EnWikt').attr('title', "Navigate to this page on English Wiktionary");
 
// Get sandbox existence status via Ajax
new mw.ForeignApi( 'https://en.wiktionary.org/w/api.php' ).get( {
	action: 'query',
	titles: mw.config.get( 'wgPageName' )
} ).done( function ( ret ) {
// Ajax function on data return: If 'missing' field is defined, page is missing, so add 'new' class to tab, which turns it red
	if (Object.keys( ret.query.pages )[0] == '-1') entabTab.addClass( 'new' );
} );

entabTab.insertAfter($('#left-navigation li').slice(0,1));
 
// ** Making tab red still doesn't work for some reason, haven't figured that out yet, 
// ** but the ajax url is correct as you can see if you navigate to it manually: 
// ** http://en.wikipedia.org/w/api.php?action=query&titles=monkey&format=xml