MediaWiki master
MediaWiki\ResourceLoader\ClientHtml Class Reference

Load and configure a ResourceLoader client on an HTML page. More...

Public Member Functions

 __construct (Context $context, array $options=[])
 
 getBodyHtml ()
 
 getDocumentAttributes ()
 
 getHeadHtml ( $nojsClass=null)
 The order of elements in the head is as follows:
 
 setConfig (array $vars)
 Set mw.config variables.
 
 setExemptStates (array $states)
 Set state of special modules that are handled by the caller manually.
 
 setModules (array $modules)
 Ensure one or more modules are loaded.
 
 setModuleStyles (array $modules)
 Ensure the styles of one or more modules are loaded.
 

Static Public Member Functions

static makeLoad (Context $mainContext, array $modules, $only, array $extraQuery=[])
 Explicitly load or embed modules on a page.
 

Public Attributes

const CLIENT_PREFS_COOKIE_NAME = 'mwclientpreferences'
 Used by extensions to apply anonymous user preferences across domains during the authentication flow.
 

Detailed Description

Load and configure a ResourceLoader client on an HTML page.

Since
1.28

Definition at line 19 of file ClientHtml.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\ResourceLoader\ClientHtml::__construct ( Context $context,
array $options = [] )
Parameters
Context$context
array$options[optional] Array of options
  • 'target': Parameter for modules=startup request, see StartUpModule.
  • 'safemode': Parameter for modules=startup request, see StartUpModule.
  • 'clientPrefEnabled': See Skin options.
  • 'clientPrefCookiePrefix': See $wgCookiePrefix.

Definition at line 64 of file ClientHtml.php.

References MediaWiki\ResourceLoader\Context\getResourceLoader().

Member Function Documentation

◆ getBodyHtml()

MediaWiki\ResourceLoader\ClientHtml::getBodyHtml ( )
Returns
string|WrappedStringList HTML

Definition at line 373 of file ClientHtml.php.

◆ getDocumentAttributes()

MediaWiki\ResourceLoader\ClientHtml::getDocumentAttributes ( )
Returns
array<string,string> Attributes pairs for the HTML document element

Definition at line 233 of file ClientHtml.php.

◆ getHeadHtml()

MediaWiki\ResourceLoader\ClientHtml::getHeadHtml ( $nojsClass = null)

The order of elements in the head is as follows:

  • Inline scripts.
  • Stylesheets.
  • Async external script-src.

Reasons:

  • Script execution may be blocked on preceding stylesheets.
  • Async scripts are not blocked on stylesheets.
  • Inline scripts can't be asynchronous.
  • For styles, earlier is better.
Parameters
string | null$nojsClassClass name that caller uses on HTML document element
Returns
string|WrappedStringList HTML

Definition at line 292 of file ClientHtml.php.

◆ makeLoad()

static MediaWiki\ResourceLoader\ClientHtml::makeLoad ( Context $mainContext,
array $modules,
$only,
array $extraQuery = [] )
static

Explicitly load or embed modules on a page.

Parameters
Context$mainContext
string[]$modulesOne or more module names
string$onlyModule TYPE_ class constant
array$extraQuery[optional] Array with extra query parameters for the request
Returns
string|WrappedStringList HTML

Definition at line 429 of file ClientHtml.php.

References $source, $url, MediaWiki\ResourceLoader\Context\encodeJson(), MediaWiki\ResourceLoader\Context\getDebug(), and MediaWiki\ResourceLoader\Context\getResourceLoader().

◆ setConfig()

MediaWiki\ResourceLoader\ClientHtml::setConfig ( array $vars)

Set mw.config variables.

Parameters
array$varsArray of key/value pairs

Definition at line 80 of file ClientHtml.php.

Referenced by MediaWiki\Output\OutputPage\getRlClient().

◆ setExemptStates()

MediaWiki\ResourceLoader\ClientHtml::setExemptStates ( array $states)

Set state of special modules that are handled by the caller manually.

See OutputPage::buildExemptModules() for use cases.

Parameters
array<string,string>$states Module state keyed by module name

Definition at line 111 of file ClientHtml.php.

◆ setModules()

MediaWiki\ResourceLoader\ClientHtml::setModules ( array $modules)

Ensure one or more modules are loaded.

Parameters
string[]$modulesArray of module names

Definition at line 91 of file ClientHtml.php.

◆ setModuleStyles()

MediaWiki\ResourceLoader\ClientHtml::setModuleStyles ( array $modules)

Ensure the styles of one or more modules are loaded.

Parameters
string[]$modulesArray of module names

Definition at line 100 of file ClientHtml.php.

Member Data Documentation

◆ CLIENT_PREFS_COOKIE_NAME

const MediaWiki\ResourceLoader\ClientHtml::CLIENT_PREFS_COOKIE_NAME = 'mwclientpreferences'

Used by extensions to apply anonymous user preferences across domains during the authentication flow.

This name doesn't include the cookie prefix which can be the ID of the domain we're on. See $wgCookiePrefix for that.

See also
https://www.mediawiki.org/wiki/Reading/Web/Preference_Persistence_For_Anonymous_Users
Note
Keep in sync with resources/src/mediawiki.user.js

Definition at line 30 of file ClientHtml.php.


The documentation for this class was generated from the following file: