Jump to content

MediaWiki:Common.js: Difference between revisions

From Shell Wikipedia
No edit summary
No edit summary
 
(One intermediate revision 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. */
mw.hook('wikipage.content').add(function($content) {
/*mw.hook('wikipage.content').add(function($content) {
     $content.find(".new").each(function() {
     $content.find(".new").each(function() {
         let link = this;
         let link = this;
Line 6: Line 6:
         if (!pageTitle) return;
         if (!pageTitle) return;


         let wikiURL = "https://en.wikipedia.org/wiki/" + encodeURIComponent(pageTitle.replace(/_/g, " "));
        // Modify the href to use the Interwiki prefix (wikipedia:)
         let wikiSyntax = "[[wikipedia:" + pageTitle + "]]";


         link.href = wikiURL;  // Redirect the link to Wikipedia
         // Use the API to detect missing pages and replace them
         link.classList.remove("new"); // Remove the 'new' (red link) styling
         $.ajax({
        link.style.color = "#0645AD"; // Change color to Wikipedia blue
            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);
                }
            }
        });
    });
});*/