Extension:MobileDetect
![]() Release status: beta |
|
---|---|
Implementation | Tag |
Description | Detects mobile devices and allows to control the content visible with the <nomobile> and <mobileonly> tags. |
Author(s) | Matthew Tran (Archivolttalk) |
Maintainer(s) | Sophivorus |
Latest version | 2.1 (2018-02-11) |
MediaWiki | 1.15+ |
License | GNU General Public License 3.0 |
Download | |
<nomobile> , <mobileonly> |
|
Translate the MobileDetect extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
The MobileDetect extension detects mobile devices using PHP's HTTP_USER_AGENT. Due to the nature of the extension, it should be very compatible with both new and old versions of MediaWiki.
The extension introduces a function called mobiledetect()
, which returns true when a mobile device is detected, and false otherwise. It also introduces the <nomobile>
and <mobileonly>
tags, which allow users to control which content is displayed only in mobile browsers, and which content is displayed only in desktop browsers.
InstallationEdit
- Download and place the file(s) in a directory called
MobileDetect
in yourextensions/
folder. - Add the following code at the bottom of your LocalSettings.php:
require_once "$IP/extensions/MobileDetect/MobileDetect.php";
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
UsageEdit
mobiledetect() functionEdit
If you would like to set a default theme depending on a visitor's browser, you can add this to your LocalSettings.php:
require_once "$IP/extensions/MobileDetect/MobileDetect.php";
$mobile = mobiledetect();
if ( $mobile === true ) {
$wgDefaultSkin = "chick"; # If mobile
} else {
$wgDefaultSkin = "vector"; # If not mobile
}
With this code, if the visitor's browser shows a user agent from a mobile browser, the default theme will be "chick" instead of "vector". If instead the browser shows a user agent from a desktop/full browser, the default theme will be "vector" instead of "chick".
If you would like a certain extension to be excluded from loading on mobile browsers, you can add this to your LocalSettings.php:
require_once "$IP/extensions/MobileDetect/MobileDetect.php";
$mobile = mobiledetect();
if ( $mobile === false ) {
require_once "$IP/extensions/reCAPTCHA/recaptcha.php"; # Only load if desktop browser
}
With this code, the reCAPTCHA extension would only load on desktop/full browsers.
<nomobile>
and <mobileonly>
tagsEdit
The MobileDetect extension also introduces the <nomobile>
and <mobileonly>
tags, which allow users to control which content is displayed in mobile browsers, and which in desktop/full browsers. Whatever is wrapped between <mobileonly>
tags will only be displayed in mobile browsers, and whatever is wrapped between <nomobile>
tags will only be displayed in desktop/full browsers. So for example:
<mobileonly>This will not be displayed in desktop/full browsers, only in mobile browsers</mobileonly>
<nomobile>This will not be displayed in mobile browsers, only in desktop/full browsers</nomobile>
The naming and behaviour of the <mobileonly>
and <nomobile>
tags follows that of the <includeonly>
and <noinclude>
tags.