Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
If you make an edit, a temporary account will be created for you.

MediaWiki:Gadget-PreloadEditor.js: Difference between revisions

MediaWiki interface page
ReisuDesign (talk | contribs)
No edit summary
ReisuDesign (talk | contribs)
No edit summary
Line 31: Line 31:
         // API
         // API


        async getPage(title) {
async getPage(title) {
            const response = await new mw.Api().get({
    const response = await new mw.Api().get({
                action: 'query',
        action: 'query',
                prop: 'revisions',
        prop: 'revisions',
                titles: title,
        titles: title,
                rvprop: 'content',
        rvprop: 'content',
                rvslots: 'main',
        rvslots: 'main',
                formatversion: 2
        formatversion: 2
            });
    });
 
            const page =
    const page =
    response &&
        response &&
    response.query &&
        response.query &&
    response.query.pages &&
        response.query.pages &&
    response.query.pages[0];
        response.query.pages[0];
            if (!page || page.missing) return null;
 
    if (!page || page.missing) return null;
            const content =
                page.revisions?.[0]?.slots?.main?.content;
    const content =
 
        page.revisions &&
            return {
        page.revisions[0] &&
                title: page.title || title,
        page.revisions[0].slots &&
                content: typeof content === 'string' ? content : ''
        page.revisions[0].slots.main &&
            };
        page.revisions[0].slots.main.content;
        },
    return {
        title: page.title || title,
        content: typeof content === 'string' ? content : ''
    };
},


         async pageExists(title) {
         async pageExists(title) {