واجهة برمجة التطبيقات:خيارات

This page is a translated version of the page API:Options and the translation is 100% complete.
إصدار ميدياويكي:
1.20

طلب GET الغرض منه تغيير تفضيلات المستخدم الحالي.

توثيق واجهة برمجة التطبيقات


action=options

(main | options)
  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

Change preferences of the current user.

Only options which are registered in core or in one of installed extensions, or options with keys prefixed with userjs- (intended to be used by user scripts), can be set.

Specific parameters:
Other general parameters are available.
reset

Resets preferences to the site defaults.

Type: boolean (details)
resetkinds

List of types of options to reset when the reset option is set.

Values (separate with | or alternative): all, registered, registered-checkmatrix, registered-multiselect, special, unused, userjs
Default: all
change

List of changes, formatted name=value (e.g. skin=vector). If no value is given (not even an equals sign), e.g., optionname|otheroption|..., the option will be reset to its default value. If any value passed contains the pipe character (|), use the alternative multiple-value separator for correct operation.

Separate values with | or alternative.
Maximum number of values is 50 (500 for clients that are allowed higher limits).
optionname

The name of the option that should be set to the value given by optionvalue.

optionvalue

The value for the option specified by optionname. When optionname is set but optionvalue is omitted, the option will be reset to its default value.

token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

مثال

إن تصميم طلب POST هو مسألة متعددة الخطوات:

  1. سجل الدخول مستخدما واحد من السبل المبينة في واجهة برمجة التطبيقات:تسجيل_الدخول .
  2. أحصل على Edit token .


  3. أرسل طلب POST مستخدمًا رمز CSRF كي تنفذ تصرف على أي صفحة.

عينة الكود البرمجي التالية تغطي الخطوة الأخيرة بالتفصيل.

طلب POST

أغفلنا كافة المتغيرات في هذا المثال في طلب GET لصالح تبسيط الأمور. إلا أن جزئية action=options تتطلب طلبات POST؛ منذ أن طلبات GET سوف تتسبب في حدوث خطأ.

تغيير خيارات ثلاثة

النتيجة
<?xml version="1.0" encoding="utf-8"?>
<api options="success" />

النتيجة

{
    "options": "success"
}

عينة من الكود البرمجي

Python

#!/usr/bin/python3

"""
    change_user_options.py

    MediaWiki API Demos
    Demo of `Options` module: POST request to change three options
    for current user

    MIT license
"""

import requests

S = requests.Session()

URL = "https://test.wikipedia.org/w/api.php"

# Step 1: GET request to fetch login token
PARAMS_0 = {
    "action": "query",
    "meta": "tokens",
    "type": "login",
    "format": "json"
}

R = S.get(url=URL, params=PARAMS_0)
DATA = R.json()

LOGIN_TOKEN = DATA['query']['tokens']['logintoken']

# Step 2: POST request to log in. Use of main account for login is not
# supported. Obtain credentials via Special:BotPasswords
# (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
PARAMS_1 = {
    "action": "login",
    "lgname": "bot_user_name",
    "lgpassword": "bot_password",
    "lgtoken": LOGIN_TOKEN,
    "format": "json"
}

R = S.post(URL, data=PARAMS_1)

# Step 3: GET request to fetch CSRF token
PARAMS_2 = {
    "action": "query",
    "meta": "tokens",
    "format": "json"
}

R = S.get(url=URL, params=PARAMS_2)
DATA = R.json()

CSRF_TOKEN = DATA['query']['tokens']['csrftoken']

# Step 4: POST request to change user options
# You can check out the large list of options you can change
# at https://www.mediawiki.org/wiki/API:Options
PARAMS_3 = {
    "action": "options",
    "format": "json",
    "token": CSRF_TOKEN,
    "change": "language=en|skin=vector",
    "optionname": "nickname",
    "optionvalue": "custom-signa|ture"
}

R = S.post(URL, data=PARAMS_3)
DATA = R.json()

print(DATA)

PHP

<?php

/*
    change_user_options.php

    MediaWiki API Demos
    Demo of `Options` module: POST request to change three options
    for current user
    MIT license
*/

$endPoint = "https://test.wikipedia.org/w/api.php";

$login_Token = getLoginToken(); // Step 1
loginRequest( $login_Token ); // Step 2
$csrf_Token = getCSRFToken(); // Step 3
change_options( $csrf_Token ); // Step 4

// Step 1: GET request to fetch login token
function getLoginToken() {
	global $endPoint;

	$params1 = [
		"action" => "query",
		"meta" => "tokens",
		"type" => "login",
		"format" => "json"
	];

	$url = $endPoint . "?" . http_build_query( $params1 );

	$ch = curl_init( $url );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

	$output = curl_exec( $ch );
	curl_close( $ch );

	$result = json_decode( $output, true );
	return $result["query"]["tokens"]["logintoken"];
}

// Step 2: POST request to log in. Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
function loginRequest( $logintoken ) {
	global $endPoint;

	$params2 = [
		"action" => "login",
		"lgname" => "bot_user_name",
		"lgpassword" => "bot_password",
		"lgtoken" => $logintoken,
		"format" => "json"
	];

	$ch = curl_init();

	curl_setopt( $ch, CURLOPT_URL, $endPoint );
	curl_setopt( $ch, CURLOPT_POST, true );
	curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params2 ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

	$output = curl_exec( $ch );
	curl_close( $ch );

}

// Step 3: GET request to fetch CSRF token
function getCSRFToken() {
	global $endPoint;

	$params3 = [
		"action" => "query",
		"meta" => "tokens",
		"format" => "json"
	];

	$url = $endPoint . "?" . http_build_query( $params3 );

	$ch = curl_init( $url );

	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

	$output = curl_exec( $ch );
	curl_close( $ch );

	$result = json_decode( $output, true );
	return $result["query"]["tokens"]["csrftoken"];
}

// Step 4: POST request to edit a page
function change_options( $csrftoken ) {
	global $endPoint;

	$params4 = [
		"action" => "options",
		"change" => "language=en|skin=timeless",
		"optionname" => "nickname",
		"optionvalue" => "custom-signa|ture",
		"token" => $csrftoken,
		"format" => "json"
	];

	$ch = curl_init();

	curl_setopt( $ch, CURLOPT_URL, $endPoint );
	curl_setopt( $ch, CURLOPT_POST, true );
	curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params4 ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

	$output = curl_exec( $ch );
	curl_close( $ch );

	echo ( $output );
}

JavaScript

/*  
    change_user_options.js
 
    MediaWiki API Demos
    Demo of `Options` module: POST request to change two options
    for current user

    MIT license
*/

var request = require('request').defaults({jar: true}),
    url = "https://test.wikipedia.org/w/api.php";

// Step 1: GET request to fetch login token
function getLoginToken() {
    var params_0 = {
        action: "query",
        meta: "tokens",
        type: "login",
        format: "json"
    };

    request.get({ url: url, qs: params_0 }, function (error, res, body) {
        if (error) {
            return;
        }
        var data = JSON.parse(body);
        loginRequest(data.query.tokens.logintoken);
    });
}

// Step 2: POST request to log in. 
// Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
function loginRequest(login_token) {
    var params_1 = {
        action: "login",
        lgname: "bot_username",
        lgpassword: "bot_password",
        lgtoken: login_token,
        format: "json"
    };

    request.post({ url: url, form: params_1 }, function (error, res, body) {
        if (error) {
            return;
        }
        getCsrfToken();
    });
}

// Step 3: GET request to fetch CSRF token
function getCsrfToken() {
    var params_2 = {
        action: "query",
        meta: "tokens",
        format: "json"
    };

    request.get({ url: url, qs: params_2 }, function(error, res, body) {
        if (error) {
            return;
        }
        var data = JSON.parse(body);
        change_options(data.query.tokens.csrftoken);
    });
}

// Step 4: POST request to change the user options
function change_options(csrf_token) {
    var params_3 = {
        action: "options",
        change: "language=en|skin=timeless",
        token: csrf_token,
        format: "json"
    };

    request.post({ url: url, form: params_3 }, function (error, res, body) {
        if (error) {
            return;
        }
        console.log(body);
    });
}

// Start From Step 1
getLoginToken();

MediaWiki JS

/*
	change_user_options.js

	MediaWiki API Demos
	Demo of `Options` module: POST request to change three options
    for current user

	MIT License
*/

var params = {
		action: 'options',
		change: 'language=en|skin=monobook',
		optionname: 'nickname',
		optionvalue: 'custom-signa|ture',
		format: 'json'
	},
	api = new mw.Api();

api.postWithToken( 'csrf', params ).done( function ( data ) {
	console.log( data );
} );

الخيارات المتاحة

التالي هي قائمة على سبيل المثال حصلنا عليها باستخدام /w/api.php?action=query&format=json&meta=userinfo&uiprop=options لويكيبيديا الإنكليزية، حساب نسخة ميدياويكي 1.40.0‎-wmf.14 (c526317) (ديسمبر/كانون الأول 2022). أغلب الخيارات المدرجة هنا محددة باستخدام امتدادات ميدياويكي مختلفة، مثل Echo أو VisualEditor أو WikiLove أو امتداد:إضافات أو GrowthExperiments ، وغيرها آخرين.
* enotifusertalkpages: 0
  • vector-limited-width: 1
  • vector-page-tools-pinned: 1
  • flaggedrevssimpleui: 1
  • flaggedrevsstable: 0
  • flaggedrevseditdiffs: True
  • flaggedrevsviewdiffs: False
  • flaggedrevswatch: False
  • globaluserpage: True
  • rcenhancedfilters-seen-highlight-button-counter: 0
  • advancedsearch-disable: False
  • usebetatoolbar: 1
  • wikieditor-realtimepreview: 0
  • usecodemirror: 0
  • betafeatures-auto-enroll: False
  • popupsreferencepreviews: 0
  • popups-reference-previews: 0
  • visualeditor-autodisable: 0
  • visualeditor-betatempdisable: 0
  • visualeditor-editor: wikitext
  • visualeditor-enable: 1
  • visualeditor-enable-experimental: 0
  • visualeditor-enable-language: 0
  • visualeditor-hidebetawelcome: 0
  • visualeditor-hidetabdialog: 0
  • visualeditor-newwikitext: 0
  • visualeditor-tabs: remember-last
  • visualeditor-visualdiffpage: 0
  • mobile-editor:
  • math: mathml
  • echo-subscriptions-web-page-review: True
  • echo-subscriptions-email-page-review: False
  • echo-subscriptions-web-login-fail: True
  • echo-subscriptions-email-login-fail: True
  • echo-subscriptions-web-login-success: False
  • echo-subscriptions-email-login-success: True
  • echo-email-frequency: 0
  • echo-dont-email-read-notifications: False
  • echo-subscriptions-web-edit-thank: True
  • echo-subscriptions-email-edit-thank: False
  • discussiontools-betaenable: 0
  • discussiontools-editmode:
  • discussiontools-newtopictool: 1
  • discussiontools-newtopictool-createpage: 1
  • discussiontools-replytool: 1
  • discussiontools-sourcemodetoolbar: 1
  • discussiontools-topicsubscription: 1
  • discussiontools-autotopicsub: 0
  • discussiontools-visualenhancements: 1
  • usecodeeditor: 1
  • revisionslider-disable: False
  • twocolconflict-enabled: 1
  • eventlogging-display-web: 0
  • eventlogging-display-console: 0
  • uls-preferences:
  • compact-language-links: 1
  • echo-subscriptions-web-cx: True
  • cx: False
  • cx-enable-entrypoints: True
  • cx-entrypoint-fd-status: notshown
  • cx_campaign_newarticle_shown: False
  • rcshowwikidata: 0
  • wlshowwikibase: 0
  • echo-subscriptions-web-oauth-owner: True
  • echo-subscriptions-email-oauth-owner: True
  • echo-subscriptions-web-oauth-admin: True
  • echo-subscriptions-email-oauth-admin: True
  • ores-damaging-flag-rc: False
  • oresDamagingPref: soft
  • rcOresDamagingPref: soft
  • oresHighlight: False
  • oresRCHideNonDamaging: False
  • oresWatchlistHideNonDamaging: False
  • ipinfo-use-agreement: 0
  • twl-notified: None
  • ccmeonemails: 0
  • date: default
  • diffonly: 0
  • disablemail: 0
  • editfont: monospace
  • editondblclick: 0
  • editsectiononrightclick: 0
  • email-allow-new-users: 1
  • enotifminoredits: False
  • enotifrevealaddr: 0
  • enotifwatchlistpages: 0
  • extendwatchlist: 0
  • fancysig: 0
  • forceeditsummary: 0
  • gender: unknown
  • hideminor: 0
  • hidepatrolled: 0
  • hidecategorization: 1
  • imagesize: 2
  • minordefault: 0
  • newpageshidepatrolled: 0
  • nickname:
  • pst-cssjs: 1
  • norollbackdiff: 0
  • previewonfirst: 0
  • previewontop: 1
  • rcdays: 7
  • rcenhancedfilters-disable: 0
  • rclimit: 50
  • search-match-redirect: True
  • search-special-page: Search
  • searchlimit: 20
  • search-thumbnail-extra-namespaces: True
  • showhiddencats: False
  • shownumberswatching: 1
  • showrollbackconfirmation: 0
  • skin: vector
  • thumbsize: 4
  • underline: 2
  • uselivepreview: 0
  • usenewrc: 0
  • watchcreations: True
  • watchdefault: 0
  • watchdeletion: 0
  • watchuploads: 1
  • watchlistdays: 3
  • watchlisthideanons: 0
  • watchlisthidebots: 0
  • watchlisthideliu: 0
  • watchlisthideminor: 0
  • watchlisthideown: 0
  • watchlisthidepatrolled: 0
  • watchlisthidecategorization: 1
  • watchlistreloadautomatically: 0
  • watchlistunwatchlinks: 0
  • watchmoves: 0
  • watchrollback: 0
  • wlenhancedfilters-disable: 0
  • wllimit: 250
  • useeditwarning: 1
  • prefershttps: 1
  • requireemail: 0
  • skin-responsive: 1
  • wikilove-enabled: 1
  • echo-cross-wiki-notifications: 1
  • growthexperiments-addimage-desktop: 1
  • timecorrection: System|0
  • centralnotice-display-campaign-type-advocacy: 1
  • centralnotice-display-campaign-type-article-writing: 1
  • centralnotice-display-campaign-type-photography: 1
  • centralnotice-display-campaign-type-event: 1
  • centralnotice-display-campaign-type-fundraising: 1
  • centralnotice-display-campaign-type-governance: 1
  • centralnotice-display-campaign-type-maintenance: 1
  • centralnotice-display-campaign-type-special: 1
  • language: en
  • variant: en
  • variant-ban: ban
  • variant-en: en
  • variant-crh: crh
  • variant-gan: gan
  • variant-iu: iu
  • variant-kk: kk
  • variant-ku: ku
  • variant-sh: sh-latn
  • variant-shi: shi
  • variant-sr: sr
  • variant-tg: tg
  • variant-tly: tly
  • variant-uz: uz
  • variant-zh: zh
  • searchNs0: 1
  • searchNs1: 0
  • searchNs2: 0
  • searchNs3: 0
  • searchNs4: 0
  • searchNs5: 0
  • searchNs6: 0
  • searchNs7: 0
  • searchNs8: 0
  • searchNs9: 0
  • searchNs10: 0
  • searchNs11: 0
  • searchNs12: 0
  • searchNs13: 0
  • searchNs14: 0
  • searchNs15: 0
  • searchNs100: 0
  • searchNs101: 0
  • searchNs118: 0
  • searchNs119: 0
  • searchNs710: 0
  • searchNs711: 0
  • searchNs828: 0
  • searchNs829: 0
  • searchNs2300: 0
  • searchNs2301: 0
  • searchNs2302: 0
  • searchNs2303: 0
  • multimediaviewer-enable: 1
  • mf_amc_optin: 0
  • gadget-modrollback: 0
  • gadget-confirmationRollback-mobile: 1
  • gadget-removeAccessKeys: 0
  • gadget-searchFocus: 0
  • gadget-GoogleTrans: 0
  • gadget-ImageAnnotator: 0
  • gadget-imagelinks: 0
  • gadget-Navigation_popups: 0
  • gadget-exlinks: 0
  • gadget-search-new-tab: 0
  • gadget-PrintOptions: 0
  • gadget-revisionjumper: 0
  • gadget-Twinkle: 0
  • gadget-HideCentralNotice: 0
  • gadget-ReferenceTooltips: 1
  • gadget-formWizard: 1
  • gadget-Prosesize: 0
  • gadget-find-archived-section: 0
  • gadget-geonotice: 1
  • gadget-watchlist-notice: 1
  • gadget-WatchlistBase: 1
  • gadget-WatchlistGreenIndicators: 1
  • gadget-WatchlistGreenIndicatorsMono: 1
  • gadget-WatchlistChangesBold: 0
  • gadget-SubtleUpdatemarker: 1
  • gadget-defaultsummaries: 0
  • gadget-citations: 0
  • gadget-DotsSyntaxHighlighter: 0
  • gadget-HotCat: 0
  • gadget-wikEdDiff: 0
  • gadget-ProveIt: 0
  • gadget-ProveIt-classic: 0
  • gadget-Shortdesc-helper: 0
  • gadget-wikEd: 0
  • gadget-afchelper: 0
  • gadget-charinsert: 1
  • gadget-legacyToolbar: 0
  • gadget-extra-toolbar-buttons: 1
  • gadget-refToolbar: 1
  • gadget-EditNoticesOnMobile: 1
  • gadget-edittop: 0
  • gadget-UTCLiveClock: 0
  • gadget-purgetab: 0
  • gadget-ExternalSearch: 0
  • gadget-CollapsibleNav: 0
  • gadget-MenuTabsToggle: 0
  • gadget-dropdown-menus: 0
  • gadget-CategoryAboveAll: 0
  • gadget-addsection-plus: 0
  • gadget-CommentsInLocalTime: 0
  • gadget-OldDiff: 0
  • gadget-NoAnimations: 0
  • gadget-disablesuggestions: 0
  • gadget-NoSmallFonts: 0
  • gadget-topalert: 0
  • gadget-metadata: 0
  • gadget-JustifyParagraphs: 0
  • gadget-righteditlinks: 0
  • gadget-PrettyLog: 0
  • gadget-switcher: 1
  • gadget-SidebarTranslate: 0
  • gadget-Blackskin: 0
  • gadget-dark-mode-toggle: 0
  • gadget-VectorClassic: 0
  • gadget-widensearch: 0
  • gadget-DisambiguationLinks: 0
  • gadget-markblocked: 0
  • gadget-responsiveContent: 0
  • gadget-responsiveContentTimeless: 1
  • gadget-HideInterwikiSearchResults: 0
  • gadget-XTools-ArticleInfo: 0
  • gadget-ShowMessageNames: 0
  • gadget-DebugMode: 0
  • gadget-contribsrange: 0
  • gadget-BugStatusUpdate: 0
  • gadget-RTRC: 0
  • gadget-script-installer: 0
  • gadget-XFDcloser: 0
  • gadget-mobile-sidebar: 0
  • gadget-addMe: 0
  • gadget-NewImageThumb: 0
  • gadget-StickyTableHeaders: 0
  • gadget-MobileMaps: 0
  • gadget-ShowJavascriptErrors: 0
  • gadget-PageDescriptions: 0
  • gadget-autonum: 0
  • gadget-wide-vector-2022: 0
  • gadget-dark-mode: 0
  • cirrussearch-pref-completion-profile: fuzzy
  • popups: 0
  • echo-email-format: html
  • echo-subscriptions-email-system: True
  • echo-subscriptions-web-system: True
  • echo-subscriptions-push-system: True
  • echo-subscriptions-email-system-noemail: False
  • echo-subscriptions-web-system-noemail: True
  • echo-subscriptions-push-system-noemail: True
  • echo-subscriptions-email-system-emailonly: False
  • echo-subscriptions-web-system-emailonly: True
  • echo-subscriptions-push-system-emailonly: True
  • echo-subscriptions-email-user-rights: True
  • echo-subscriptions-web-user-rights: True
  • echo-subscriptions-push-user-rights: True
  • echo-subscriptions-email-other: False
  • echo-subscriptions-web-other: True
  • echo-subscriptions-push-other: True
  • echo-subscriptions-email-edit-user-talk: 0
  • echo-subscriptions-web-edit-user-talk: True
  • echo-subscriptions-push-edit-user-talk: True
  • echo-subscriptions-email-reverted: False
  • echo-subscriptions-web-reverted: True
  • echo-subscriptions-push-reverted: True
  • echo-subscriptions-email-article-linked: False
  • echo-subscriptions-web-article-linked: False
  • echo-subscriptions-push-article-linked: False
  • echo-subscriptions-email-mention: False
  • echo-subscriptions-web-mention: True
  • echo-subscriptions-push-mention: True
  • echo-subscriptions-email-mention-failure: False
  • echo-subscriptions-web-mention-failure: False
  • echo-subscriptions-push-mention-failure: False
  • echo-subscriptions-email-mention-success: False
  • echo-subscriptions-web-mention-success: False
  • echo-subscriptions-push-mention-success: False
  • echo-subscriptions-email-emailuser: False
  • echo-subscriptions-web-emailuser: True
  • echo-subscriptions-push-emailuser: True
  • echo-subscriptions-email-thank-you-edit: False
  • echo-subscriptions-web-thank-you-edit: True
  • echo-subscriptions-push-thank-you-edit: True
  • echo-subscriptions-push-page-review: True
  • echo-subscriptions-push-login-fail: True
  • echo-subscriptions-push-login-success: True
  • echo-subscriptions-push-edit-thank: True
  • echo-subscriptions-email-dt-subscription: False
  • echo-subscriptions-web-dt-subscription: True
  • echo-subscriptions-push-dt-subscription: True
  • echo-subscriptions-email-dt-subscription-archiving: False
  • echo-subscriptions-web-dt-subscription-archiving: True
  • echo-subscriptions-push-dt-subscription-archiving: True
  • echo-subscriptions-email-cx: False
  • echo-subscriptions-push-cx: True
  • echo-subscriptions-email-ge-mentorship: False
  • echo-subscriptions-web-ge-mentorship: True
  • echo-subscriptions-push-ge-mentorship: True
  • echo-subscriptions-email-wikibase-action: False
  • echo-subscriptions-web-wikibase-action: True
  • echo-subscriptions-push-wikibase-action: True
  • growthexperiments-help-panel-tog-help-panel: False
  • homepage_mobile_discovery_notice_seen: True
  • growthexperiments-homepage-suggestededits-guidance-blue-dot: {"vector":{"link-recommendation":true,"image-recommendation":true},"minerva":{"link-recommendation":true,"image-recommendation":true}}
  • growthexperiments-homepage-se-topic-filters-mode: OR
  • growthexperiments-homepage-enable: False
  • growthexperiments-homepage-pt-link: False
  • growthexperiments-tour-help-panel: True
  • growthexperiments-tour-homepage-mentorship: True
  • growthexperiments-tour-homepage-welcome: True
  • growthexperiments-tour-homepage-discovery: True
  • growthexperiments-tour-newimpact-discovery: False
  • growthexperiments-starred-mentees:
  • growthexperiments-mentor-dashboard-seen: 0
  • growthexperiments-mentor-dashboard-last-update: None
  • growthexperiments-mentee-overview-presets: {"usersToShow":10,"filters":{"minedits":1,"maxedits":500}}
  • growthexperiments-homepage-mentorship-enabled: 1
  • growthexperiments-mentorship-weight: 2


الأخطاء المحتملة

خلاف الأمور المعتادة :

الكود معلومات
notloggedin لا يمكن للمستخدمين المجهولين تغيير التفضيلات
nochanges لم يتم طلب أية تغييرات.

تاريخ المتغيرات

  • 1.21: إضافة resetkinds

ملاحظات إضافية

  • واجهة برمجة التطبيقات هذه الغرض الأساسي منها هو تغيير الخيارات المسجلة في لب ميدياويكي البرمجي أو الامتدادات وهي متاحة في صفحة ‎Special:Preferences.
  • يمكنك أيضًا استخدام واجهة برمجة التطبيقات كي تحدد خيارات مستخدم اختيارية يمكن لنصوص المستخدمين البرمجية أو المحررين الخارجيين استخدامها. يتعين أن تبدأ هذه الخيارات بالبادئة ‎userjs-‎.
  • لا يوجد في الوقت الراهن حد أقصى لعدد خيارات المستخدم التي يمكن استخدامها في ذات الوقت. يمكنك تخزين البيانات في خيار مستخدم عن طريق تشفيرها في صفة سطر JSON.
  • ينتج عن تقديم أسماء الخيارات فقط دون استخدام علامة التساوي في إعادة ضبطها (مثلhideminor|skin). في حالة وجود زوجي مفتاح وقيمة ‎userjs-‎ اختياريين، سينتج عن إعادة الضبط محوها.
  • لا يمكن استخدام المتغير change في تحديد قيمة تحتوي على المحرف الشرطة الرأسية |، منذ أن واجهة برمجة التطبيقات تستخدمه في فصل الخيارات. لو كنت تريد ضبط هذه القيمة (مثل توقيع مستخدم) استخدم الزوجين optionname و optionvalue.
  • تسري الحدود التالية على كافة خيارات المستخدم:
    • يتعين أن يكون طول البايت للمفتاح أن يكون ‎<= 255.
    • يتعين أن يكون طول البايت للقيمة أن يكون ‎<= 65535.
    • يتعين أن يتكون المفتاح من حروف وأرقام وشرطات وشرطات تحتية من ترميز «آسكي – ASCII» مثل ‎(a-z, A-Z, 0-9, _, -)‎.


انظر أيضا