Tag: Manuel tilbagerulning |
|
Linje 46: |
Linje 46: |
| }); | | }); |
|
| |
|
| // Function to generate a random integer between 0 and max
| | $(function() { |
| function getRandomInt(max) {
| |
| return Math.floor(Math.random() * Math.floor(max));
| |
| }
| |
| | |
| // Function to retrieve the page ID of a random page
| |
| function getRandomPageId() {
| |
| var apiUrl = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php';
| |
| var params = {
| |
| action: 'query',
| |
| generator: 'random',
| |
| format: 'json',
| |
| prop: 'info',
| |
| inprop: 'url',
| |
| formatversion: 2,
| |
| indexpageids: true,
| |
| redirects: true
| |
| };
| |
| return new Promise(function(resolve, reject) {
| |
| $.get(apiUrl, params).done(function(data) {
| |
| var pageIds = data.query.pageids;
| |
| if (pageIds.length > 0) {
| |
| var randomIndex = getRandomInt(pageIds.length);
| |
| var pageId = pageIds[randomIndex];
| |
| resolve(pageId);
| |
| } else {
| |
| reject('No pages found.');
| |
| }
| |
| }).fail(function() {
| |
| reject('Failed to retrieve random page ID.');
| |
| });
| |
| });
| |
| }
| |
| | |
| // Function to add a "Random Article" link to the navigation panel
| |
| function addRandomArticleLink() { | |
| var navPanel = $('#p-navigation ul'); | | var navPanel = $('#p-navigation ul'); |
| if (navPanel.length > 0) { | | if (navPanel.length > 0) { |
| getRandomPageId().then(function(pageId) { | | var linkUrl = 'https://aarhuswiki.dk/wiki/Speciel:Tilf%C3%A6ldig_side'; |
| var linkUrl = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit§ion=0&random=' + pageId;
| | var linkText = 'Tilfældig side'; |
| var linkText = 'Tilfældig side';
| | navPanel.append('<li><a href="' + linkUrl + '">' + linkText + '</a></li>'); |
| navPanel.append('<li><a href="' + linkUrl + '">' + linkText + '</a></li>');
| |
| }).catch(function(errorMessage) {
| |
| console.error('Error adding "Random Article" link: ' + errorMessage);
| |
| });
| |
| } | | } |
| }
| |
|
| |
| // Add the "Random Article" link to the navigation panel when the document is ready
| |
| $(function() {
| |
| addRandomArticleLink();
| |
| }); | | }); |