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"
m |
|||
| Line 14: | Line 14: | ||
function updateAmazonLinks() { | function updateAmazonLinks() { | ||
| − | var amazonLinks = document.querySelectorAll(' | + | var amazonLinks = document.querySelectorAll('.amazon-link'); |
if (amazonLinks.length > 0) { | if (amazonLinks.length > 0) { | ||
| Line 23: | Line 23: | ||
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')); | ||
| − | link.setAttribute('href', finalUrl); | + | link.querySelectorAll('a').setAttribute('href', finalUrl); |
}); | }); | ||
}) | }) | ||
Revision as of 22:06, 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://ip-api.com/json/')
.then(response => response.json())
.then(data => {
var region = getAmazonRegion(data.countryCode);
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);
})();