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 33 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 78 of file ClientHtml.php.

References MediaWiki\ResourceLoader\Context\getResourceLoader().

Member Function Documentation

◆ getBodyHtml()

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

Definition at line 387 of file ClientHtml.php.

◆ getDocumentAttributes()

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

Definition at line 247 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 306 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 443 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 94 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 125 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 105 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 114 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 44 of file ClientHtml.php.


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