Note that in order to reduce spam, I have disabled account creation. If you are willing to help me keep this wiki up to date, please send Angel a private message on Wattpad or on Patreon with the username and password you would like to use. Thank you!
Difference between revisions of "MediaWiki:Common.js"
Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
+ | (function () { | ||
function getAmazonLink(countryCode, asin) { | function getAmazonLink(countryCode, asin) { | ||
switch (countryCode) { | switch (countryCode) { | ||
Line 19: | Line 20: | ||
.then(response => response.json()) | .then(response => response.json()) | ||
.then(data => { | .then(data => { | ||
− | var region = | + | var region = data.country; |
amazonLinks.forEach(function(link) { | amazonLinks.forEach(function(link) { | ||
var finalUrl = getAmazonLink(region, link.getAttribute('data-amazon-asin')); | var finalUrl = getAmazonLink(region, link.getAttribute('data-amazon-asin')); | ||
Line 29: | Line 30: | ||
} | } | ||
document.addEventListener('DOMContentLoaded', updateAmazonLinks); | document.addEventListener('DOMContentLoaded', updateAmazonLinks); | ||
+ | })(); |
Revision as of 22:31, 22 December 2024
/* Any JavaScript here will be loaded for all users on every page load. */ (function () { function getAmazonLink(countryCode, asin) { switch (countryCode) { case 'GB': return 'https://www.amazon.co.uk/dp/'+asin; case 'DE': return 'https://www.amazon.de/dp/'+asin; case 'JP': return 'https://www.amazon.co.jp/dp/'+asin; case 'CA': return 'https://www.amazon.ca/dp/'+asin; case 'AU': return 'https://www.amazon.com.au/dp/'+asin; case 'FR': return 'https://www.amazon.fr/dp/'+asin; default: return 'https://www.amazon.com/dp/'+asin; } } function updateAmazonLinks() { var amazonLinks = document.querySelectorAll('.amazon-link'); if (amazonLinks.length > 0) { fetch('https://get.geojs.io/v1/ip/country.json') .then(response => response.json()) .then(data => { var region = data.country; amazonLinks.forEach(function(link) { var finalUrl = getAmazonLink(region, link.getAttribute('data-amazon-asin')); link.querySelectorAll('a').setAttribute('href', finalUrl); }); }) .catch(console.error); } } document.addEventListener('DOMContentLoaded', updateAmazonLinks); })();