To get updates on new site content, like us on Facebook or follow us on Twitter.

MediaWiki:Common.js

From JFA Wiki
Revision as of 13:45, 10 February 2019 by Greg.Fuller (talk | contribs)

Note: After saving, 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: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.

/* Any JavaScript here will be loaded for all users on every page load. */

var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;


//Insert 'Justice for Animals .org' in the DOM, for the header jQuery(document).ready(function () { if (iOS) { //$('head').append('<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">'); }

document.body.insertAdjacentHTML( 'afterbegin', '

<a href="/Main_Page">Justice for Animals .org</a>

');

})

// copy to clipboard function //https://stackoverflow.com/questions/33855641/copy-output-of-a-javascript-variable-to-the-clipboard function jfa_copy_to_clipboard (text) {

// https://stackoverflow.com/questions/5688362/how-to-prevent-scrolling-on-prepend

   var dummy = document.createElement("textarea");
   

if (iOS) {

   	window.scrollTo(0, jQuery("#jfa-share").offset().top);

}

   //document.body.prepend(dummy);
   document.body.appendChild(dummy);
   //document.getElementById("jfa-share").appendChild(dummy);
   
   
   dummy.value = text;
   dummy.select();
   document.execCommand("copy");
   document.body.removeChild(dummy);

}

// handle share template jQuery(document).ready(function () { if ( jQuery( "#jfa-share" ).length ) {

// twitter and facebook sharing // https://codepen.io/Huskie/pen/wKphk

// twitter sharing var twitterShare = document.querySelector('[data-js="twitter-share"]'); twitterShare.onclick = function(e) { e.preventDefault(); var twitterWindow = window.open('https://twitter.com/share?url=' + document.URL, 'twitter-popup', 'height=350,width=600'); if(twitterWindow.focus) { twitterWindow.focus(); } return false; }

// facebook sharing var facebookShare = document.querySelector('[data-js="facebook-share"]'); facebookShare.onclick = function(e) { e.preventDefault(); var facebookWindow = window.open('https://www.facebook.com/sharer/sharer.php?u=' + document.URL, 'facebook-popup', 'height=350,width=600'); if(facebookWindow.focus) { facebookWindow.focus(); } return false; }


// copy short url to clipboard var jfa_short_url = jQuery("span.jfa-page-shorturl a").attr("href");

// don't know why list style not showing bullet on clipboard jQuery("#jfa-share ul").attr("list-style-type","bullet");

// set titles jQuery("#jfa-share a").attr("title","Click to share!");

// prevent bad hover tooltop jQuery(".jfa-share-option-url a").attr("href",jfa_short_url);

jQuery(".jfa-share-option-url a").click(function(event) { event.preventDefault(); //alert( "debugging: Handler for .click() called." ); jfa_copy_to_clipboard(jfa_short_url); alert("The short url for this page has been copied to your clipboard and is ready for sharing."); return false;

});

// if plain text exists, reveal second option and handle copy to clipboard if ( jQuery( "#jfa-plaintext" ).length ) { jQuery(".jfa-share-option-plaintext").css('display','inline');

// copy to clipboard on click jQuery(".jfa-share-option-plaintext a").click(function(event) { event.preventDefault(); //var jfa_plaintext = jQuery("#jfa-plaintext table tr:eq(1) td:eq(0)").html(); var jfa_plaintext = jQuery("#jfa-plaintext table tr:eq(1)").text();

// double up newlines to create blank line; then trim jfa_plaintext = jfa_plaintext.replace(new RegExp('\r?\n','g'), '\n\n'); jfa_plaintext = jQuery.trim(jfa_plaintext);

// copy to clipboard and inform jfa_copy_to_clipboard(jfa_plaintext); alert("The plain text version of this page has been copied to your clipboard and is ready for sharing."); }); } }

})

// autogenerate plaintext for factsheet jQuery(document).ready(function () {

 if ( ! jQuery( "#jfa-plaintext" ).hasClass( "jfa-plaintext-factsheet" )) {
 	return;
 }
 	var jfa_maintext = jQuery("#jfa-maintext").html();
 	
 	// trim early, trim often
 	jfa_maintext = jQuery.trim(jfa_maintext);
 	
 	// remove edit buttons
 	jfa_maintext = jfa_maintext.replace(/\[edit\]/g, );
 	
 	// fix headings
 	jfa_maintext = jfa_maintext.replace("Context", 'CONTEXT');
 	jfa_maintext = jfa_maintext.replace("Facts", 'FACTS');
 	jfa_maintext = jfa_maintext.replace("Secondary Sources", 'SECONDARY SOURCES');
 	

// double up newlines to create blank line; then trim jfa_maintext = jfa_maintext.replace(new RegExp('\r?\n','g'), '\n\n');

// now some have 3 newlines, get it back down to two jfa_maintext = jfa_maintext.replace(/\n\n\n/g, );

// put a newline before our headings jfa_maintext = jfa_maintext.replace("CONTENT", '\nCONTEXT'); jfa_maintext = jfa_maintext.replace("FACTS", '\nFACTS'); jfa_maintext = jfa_maintext.replace("SECONDARY SOURCES", '\nSECONDARY SOURCES');

 	console.log(jfa_maintext);

})