MediaWiki:Common.js: различия между версиями
WikiSysop (обсуждение | вклад) Нет описания правки |
WikiSysop (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | ||
var formCreatePage = document.querySelector('.createbox'); | |||
formCreatePage.addEventListener('submit', function(ev) { | formCreatePage.addEventListener('submit', function(ev) { | ||
console.log('>> submit'); | |||
ev.preventDefault(); | ev.preventDefault(); | ||
var pageTitle = formCreatePage.title.value; | |||
var pageContent = `{{Theme | |||
|title=${mw.config.get('wgPageName')} | |title=${mw.config.get('wgPageName')} | ||
}} | }} | ||
| Строка 12: | Строка 13: | ||
==Идеальный результат== | ==Идеальный результат== | ||
Текст идеального результата` | Текст идеального результата`; | ||
// Формирование запроса к API для создания страницы | // Формирование запроса к API для создания страницы | ||
| Строка 25: | Строка 26: | ||
// Отправка запроса POST к API MediaWiki | // Отправка запроса POST к API MediaWiki | ||
$.post(mw.util.wikiScript('api'), params, function(data) { | $.post(mw.util.wikiScript('api'), params, function(data) { | ||
console.log('>>post', data.edit.result); | |||
if (data && data.edit && data.edit.result === 'Success') { | if (data && data.edit && data.edit.result === 'Success') { | ||
// Если страница успешно создана, перенаправляем пользователя на неё | // Если страница успешно создана, перенаправляем пользователя на неё | ||
Версия от 22:49, 16 февраля 2024
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
var formCreatePage = document.querySelector('.createbox');
formCreatePage.addEventListener('submit', function(ev) {
console.log('>> submit');
ev.preventDefault();
var pageTitle = formCreatePage.title.value;
var pageContent = `{{Theme
|title=${mw.config.get('wgPageName')}
}}
==Описание раздела==
Текст описания раздела
==Идеальный результат==
Текст идеального результата`;
// Формирование запроса к API для создания страницы
var params = {
action: 'edit',
title: pageTitle,
text: pageContent,
token: mw.user.tokens.get('csrfToken'), // Получение токена CSRF из MediaWiki
format: 'json'
};
// Отправка запроса POST к API MediaWiki
$.post(mw.util.wikiScript('api'), params, function(data) {
console.log('>>post', data.edit.result);
if (data && data.edit && data.edit.result === 'Success') {
// Если страница успешно создана, перенаправляем пользователя на неё
// window.location.href = mw.util.getUrl(pageTitle);
// остаемся на текущей странице
window.location.href = mw.util.getUrl(mw.config.get('wgPageName'), {action: 'purge'});
} else {
// Обработка ошибок
console.error('Не удалось создать страницу: ', data);
}
});
});