User:Euphoria/common.js: Difference between revisions
From Test Wiki
Images
(edit count) |
(Images) Tags: Mobile edit Mobile web edit |
||
Line 1: | Line 1: | ||
(function() { | |||
function | 'use strict'; | ||
// Function to check if a page has images | |||
. | async function checkIfPageHasImage(pageTitle) { | ||
const endpoint = `https://en.wikipedia.org/w/api.php?action=query&titles=${encodeURIComponent(pageTitle)}&prop=images&format=json&origin=*`; | |||
const response = await fetch(endpoint); | |||
const data = await response.json(); | |||
const page = data.query.pages[Object.keys(data.query.pages)[0]]; | |||
return page.hasOwnProperty('images'); | |||
} | |||
} | |||
// | // Main function to find articles without images | ||
async function findArticlesWithoutImages() { | |||
const categoryTitle = document.getElementById('firstHeading').innerText; | |||
const endpoint = `https://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=${encodeURIComponent(categoryTitle)}&cmlimit=max&format=json&origin=*`; | |||
const response = await fetch(endpoint); | |||
const data = await response.json(); | |||
const articles = data.query.categorymembers; | |||
// Add a | for (const article of articles) { | ||
const hasImage = await checkIfPageHasImage(article.title); | |||
if (!hasImage) { | |||
console.log(`Article without image found: ${article.title}`); | |||
} | |||
} | |||
} | |||
// Add a button to the page | |||
function addButton() { | |||
const button = document.createElement('button'); | |||
button.textContent = 'Find Articles Without Images'; | |||
button.style.margin = '10px'; | |||
button.onclick = findArticlesWithoutImages; | |||
const referenceNode = document.getElementById('mw-content-text'); | |||
referenceNode.insertBefore(button, referenceNode.firstChild); | |||
} | |||
// Add the button when the script loads | |||
addButton(); | |||
})(); |