Extension:MobileDetect
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Značka |
| Popis | Detekuje mobilní zařízení a umožňuje ovládat viditelný obsah pomocí tagů <nomobile> a <mobileonly>, parserových funkcí a CSS tříd. |
| Autoři | Matthew Tran (Archivoltdiskuse) |
| Správci | Sophivorus |
| Nejnovější verze | 2.4 (2024-08-25) |
| MediaWiki | 1.35+ |
<nomobile>, <mobileonly>, #nomobile, #mobileonly |
|
| Licence | GNU General Public License 3.0 |
| Stáhnout | |
| Přeložte rozšíření MobileDetect, používá-li lokalizaci z translatewiki.net | |
| Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření MobileDetect detekuje mobilní zařízení pomocí rozšíření HTTP_USER_AGENT v PHP.
Vzhledem k povaze rozšíření by mělo být velmi dobře kompatibilní s novými i starými verzemi MediaWiki.
Rozšíření zavádí funkci s názvem wfMobileDetect(), která vrací hodnotu true, když je detekováno mobilní zařízení, a v opačném případě hodnotu false.
Také zavádí tagy <nomobile> a <mobileonly>, funkce parseru a třídy CSS, které uživatelům umožňují ovládat, který obsah se zobrazuje pouze v mobilních prohlížečích a který pouze v prohlížečích na stolních počítačích.
Instalace
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
MobileDetectve vaší složceextensions/.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileDetect
- Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'MobileDetect' );
Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Použití
wfMobileDetect()
Pokud chcete nastavit výchozí téma v závislosti na prohlížeči návštěvníka, můžete do svého souboru LocalSettings.php přidat toto:
wfLoadExtension( 'MobileDetect' );
$mobile = wfMobileDetect();
if ( $mobile ) {
$wgDefaultSkin = "chick"; # Pokud je mobilní
} else {
$wgDefaultSkin = "vector"; # Pokud není mobilní
}
S tímto kódem, pokud prohlížeč návštěvníka zobrazí uživatelského agenta z mobilního prohlížeče, bude výchozí šablona chick místo vector.
Pokud prohlížeč místo toho zobrazí uživatelského agenta z desktopového, výchozí téma bude vector místo chick.
Pokud chcete, aby se určité rozšíření nenačítalo v mobilních prohlížečích, můžete do svého LocalSettings.php přidat:
wfLoadExtension( 'MobileDetect' );
$mobile = wfMobileDetect();
if ( ! $mobile ) {
wfLoadExtension( 'ConfirmEdit' ); # Načíst pouze v prohlížeči na počítači
}
S tímto kódem by se rozšíření reCAPTCHA načítalo pouze v prohlížečích stolních počítačů.
Značky <nomobile> a <mobileonly>
Rozšíření MobileDetect také zavádí tagy <nomobile> a <mobileonly>, které uživatelům umožňují ovládat, který obsah se zobrazuje v mobilních prohlížečích a který v prohlížečích na stolních počítačích.
Cokoli je zabaleno mezi tagy <mobileonly>, se zobrazí pouze v mobilních prohlížečích a cokoli je zabaleno mezi tagy <nomobile>, se zobrazí pouze v prohlížečích na stolních počítačích.
Tak například:
<mobileonly>Toto se nezobrazí v prohlížečích na počítači, ale pouze v mobilních prohlížečích.</mobileonly>
<nomobile>Toto se nezobrazí v mobilních prohlížečích, pouze v prohlížečích na počítači.</nomobile>
Pojmenování a chování tagů <mobileonly> a <nomobile> odpovídá tagům <includeonly> a <noinclude>.
Toto rozvětvení vykreslí veškerý víceřádkový obsah správně.
Funkce parseru #nomobile a #mobileonly
Rozšíření MobileDetect také zavádí funkce parseru #nomobile a #mobileonly, které fungují přesně jako tagy <nomobile> a <mobileonly>, s tím rozdílem, že jejich obsah je parsován, takže mohou obsahovat věci jako {{{1}}} a být použity v šablonách.
Nezobrazují však správně veškerý víceřádkový obsah, proto je používejte hlavně pro vložený obsah.
Toto rozvětvení vykreslí veškerý víceřádkový obsah správně.
Třídy nomobile a mobileonly
Alternativně je také možné použít třídy CSS přímo:
{| class="wikitable nomobile"
|-
| (Nějaké wikitable věci.)
|}
Související odkazy
| Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: |
