MediaWiki:Common.js
Versiunea din 22 august 2024 11:42, autor: HalfOp (Discuție | contribuții)
Notă: După salvare, trebuie să treceți peste memoria cache a navigatorului pentru a putea vedea modificările:
- Firefox / Safari: țineți apăsat pe Shift în timp ce faceți clic pe Reîncărcare ori apăsați Ctrl-F5 sau Ctrl-R (⌘-R pe un sistem Mac);
- Google Chrome: apăsați Ctrl-Shift-R (⌘-Shift-R pe un sistem Mac);
- Internet Explorer: țineți apăsat pe Ctrl în timp ce faceți clic pe Reîmprospătare sau apăsați Ctrl-F5;
- Opera: Mergeți la Meniu → Setări (Opera → Preferințe pe un sistem Mac) și apoi la Confidențialitate & securitate → Șterge istoricul de navigare → Imagini și fișiere memorate în cache.
/* Any JavaScript here will be loaded for all users on every page load. */
(function () {
var req = new XMLHttpRequest();
req.addEventListener('load', function (ev) {
if (this.status >= 200 && this.status < 300) {
var data = JSON.parse(this.responseText);
if (data.hasOwnProperty('version')) {
var gdpr = document.createElement("script");
gdpr.src = "https://s3-static.geo.gfsrv.net/cookiebanner/" + data.version + "/cookie.min.js";
document.head.appendChild(gdpr);
}
}
});
req.open('GET', "https://s3-static.geo.gfsrv.net/cookiebanner/version.json");
req.send();
})();
(function () {
document.addEventListener('DOMContentLoaded', function () {
function showLoot(monster) {
console.log('Clicked monster:', monster);
var lootList = document.getElementById('loot-list');
lootList.innerHTML = '';
var apiUrl = mw.util.wikiScript('api') + '?action=parse&page=' + encodeURIComponent(monster) + '&prop=wikitext&format=json&origin=*';
console.log('API URL:', apiUrl);
fetch(apiUrl)
.then(function (response) {
if (!response.ok) {
throw new Error('Network response was not ok: ' + response.statusText);
}
return response.json();
})
.then(function (data) {
console.log('Fetched data:', data);
var wikitext = data.parse.wikitext['*'];
if (wikitext.startsWith('#Redirect')) {
var targetPageMatch = wikitext.match(/\[\[([^\]]+)\]\]/);
if (targetPageMatch) {
var targetPage = targetPageMatch[1];
var redirectUrl = mw.util.wikiScript('api') + '?action=parse&page=' + encodeURIComponent(targetPage) + '&prop=wikitext&format=json&origin=*';
return fetch(redirectUrl)
.then(function (response) {
if (!response.ok) {
throw new Error('Redirect Network response was not ok: ' + response.statusText);
}
return response.json();
});
}
}
return data;
})
.then(function (data) {
var wikitext = data.parse.wikitext['*'];
var weapondropsMatch = wikitext.match(/\|Weapondrops\s*=\s*([^\n|]*)/);
if (weapondropsMatch) {
var weapondrops = weapondropsMatch[1].trim();
var lootItems = weapondrops.split('::');
lootItems.forEach(function (item) {
if (item.trim()) {
var li = document.createElement('li');
li.textContent = item.trim();
lootList.appendChild(li);
}
});
} else {
var li = document.createElement('li');
li.textContent = 'No weapon drops found';
lootList.appendChild(li);
}
})
.catch(function (error) {
console.error('Error fetching loot:', error);
var lootList = document.getElementById('loot-list');
if (lootList) {
var li = document.createElement('li');
li.textContent = 'Error fetching loot: ' + error.message;
lootList.appendChild(li);
}
});
}
var items = document.querySelectorAll('#monster-list li');
items.forEach(function (item) {
item.addEventListener('click', function () {
showLoot(item.getAttribute('data-monster'));
});
});
});
})();