Jump to content

MediaWiki:Common.js: Difference between revisions

From Shell Wikipedia
Created page with "Any JavaScript here will be loaded for all users on every page load.: document.addEventListener("DOMContentLoaded", function () { document.querySelectorAll(".new").forEach(function (link) { let pageTitle = link.getAttribute("title") || link.textContent; let wikiURL = "https://en.wikipedia.org/wiki/" + encodeURIComponent(pageTitle.replace(/_/g, " ")); link.href = wikiURL; // Redirect the link to Wikipedia link.classList.r..."
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
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. */
document.addEventListener("DOMContentLoaded", function () {
/*mw.hook('wikipage.content').add(function($content) {
     document.querySelectorAll(".new").forEach(function (link) {
     $content.find(".new").each(function() {
         let pageTitle = link.getAttribute("title") || link.textContent;
        let link = this;
         let wikiURL = "https://en.wikipedia.org/wiki/" + encodeURIComponent(pageTitle.replace(/_/g, " "));
         let pageTitle = link.getAttribute("title") || link.textContent.trim();
          
        if (!pageTitle) return;
         link.href = wikiURL; // Redirect the link to Wikipedia
 
        link.classList.remove("new"); // Remove the 'new' (red link) styling
        // Modify the href to use the Interwiki prefix (wikipedia:)
         link.style.color = "#0645AD"; // Change color to Wikipedia blue
         let wikiSyntax = "[[wikipedia:" + pageTitle + "]]";
 
         // Use the API to detect missing pages and replace them
         $.ajax({
            url: mw.util.wikiScript('api'),
            data: {
                action: 'query',
                titles: pageTitle,
                format: 'json'
            },
            dataType: 'json',
            success: function(data) {
                let missing = Object.values(data.query.pages)[0].missing;
                if (missing) {
                    // Replace the page's link with a Wikipedia interwiki link
                    $(link).replaceWith(wikiSyntax);
 
                    // Force a page reload to apply the interwiki style
                    setTimeout(() => location.reload(), 500);
                }
            }
         });
     });
     });
});
});*/

Latest revision as of 06:50, 27 February 2025

/* Any JavaScript here will be loaded for all users on every page load. */
/*mw.hook('wikipage.content').add(function($content) {
    $content.find(".new").each(function() {
        let link = this;
        let pageTitle = link.getAttribute("title") || link.textContent.trim();
        if (!pageTitle) return;

        // Modify the href to use the Interwiki prefix (wikipedia:)
        let wikiSyntax = "[[wikipedia:" + pageTitle + "]]";

        // Use the API to detect missing pages and replace them
        $.ajax({
            url: mw.util.wikiScript('api'),
            data: {
                action: 'query',
                titles: pageTitle,
                format: 'json'
            },
            dataType: 'json',
            success: function(data) {
                let missing = Object.values(data.query.pages)[0].missing;
                if (missing) {
                    // Replace the page's link with a Wikipedia interwiki link
                    $(link).replaceWith(wikiSyntax);

                    // Force a page reload to apply the interwiki style
                    setTimeout(() => location.reload(), 500);
                }
            }
        });
    });
});*/