Widget: HouseTile: Unterschied zwischen den Versionen
Aus Herrenhäuser
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 3: | Zeile 3: | ||
<div class="card-body"> | <div class="card-body"> | ||
<h5 class="card-title"><!--{$page|escape:'url'}--></h5> | <h5 class="card-title"><!--{$page|escape:'url'}--></h5> | ||
<p class="card-text"> | <p id="textContainer" class="card-text"></p> | ||
<a href="<!--{$page|escape:'url'}-->" class="btn btn-primary">EXPLORE</a> | <a href="<!--{$page|escape:'url'}-->" class="btn btn-primary">EXPLORE</a> | ||
</div> | </div> | ||
| Zeile 54: | Zeile 54: | ||
console.log("Error: " + error); | console.log("Error: " + error); | ||
document.getElementById("firstImageContainer").innerHTML = "Error retrieving image."; | document.getElementById("firstImageContainer").innerHTML = "Error retrieving image."; | ||
}); | |||
// now get wikitext from page | |||
var params = { | |||
action: "parse", | |||
title: "HouseTile", | |||
text: "<!--{$page|escape:'url'}-->", | |||
}; | |||
fetch(url) | |||
.then(function(response) { | |||
return response.json(); | |||
}) | |||
.then(function(response) { | |||
var text = response.query.parse.text; | |||
// If a first image is found, display it | |||
if (text) { | |||
document.getElementById("textContainer").innerHTML = text; | |||
} else { | |||
document.getElementById("textContainer").innerHTML = "No text found."; | |||
} | |||
}) | |||
.catch(function(error) { | |||
console.log("Error: " + error); | |||
document.getElementById("textContainer").innerHTML = "Error retrieving text."; | |||
}); | }); | ||
</script> | </script> | ||
Version vom 22. Oktober 2024, 12:18 Uhr
Loading image...
<a href="" class="btn btn-primary">EXPLORE</a>
<script> var url = "https://wb.manorhouses.tibwiki.io/w/api.php";
var params = {
action: "query", prop: "images", titles: "", // Page title whose first image you want to retrieve format: "json"
};
url = url + "?origin=*"; Object.keys(params).forEach(function(key) {
url += "&" + key + "=" + params[key];
});
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(response) {
var pages = response.query.pages;
var firstImageTitle = null;
// Find the first image title
for (var page in pages) {
if (pages[page].images && pages[page].images.length > 0) {
firstImageTitle = pages[page].images[0].title;
break; // Exit loop after getting the first image
}
}
// If a first image is found, display it
if (firstImageTitle) {
// Construct the URL to display the image
var imageUrl = "https://wb.manorhouses.tibwiki.io/wiki/Special:FilePath/" + firstImageTitle.replace('File:', );
document.getElementById("firstImageContainer").innerHTML = '<img src="' + imageUrl + '" alt="First Image" style="max-width:100%;">';
} else {
document.getElementById("firstImageContainer").innerHTML = "No image found.";
}
})
.catch(function(error) {
console.log("Error: " + error);
document.getElementById("firstImageContainer").innerHTML = "Error retrieving image.";
});
// now get wikitext from page var params = {
action: "parse", title: "HouseTile", text: "",
};
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(response) {
var text = response.query.parse.text;
// If a first image is found, display it
if (text) {
document.getElementById("textContainer").innerHTML = text;
} else {
document.getElementById("textContainer").innerHTML = "No text found.";
}
})
.catch(function(error) {
console.log("Error: " + error);
document.getElementById("textContainer").innerHTML = "Error retrieving text.";
});
</script>