Jump to content

Extension:MobileDetect

From mediawiki.org
This page is a translated version of the page Extension:MobileDetect and the translation is 100% complete.
Příručka k rozšířením MediaWiki
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 MobileDetect ve vaší složce extensions/.
    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' );
    
  • Yes 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>.

Původní rozšíření nezobrazuje správně veškerý víceřádkový obsah.

Toto rozvětvení vykreslí veškerý víceřádkový obsah správně.

Testovací stránka pro MobileDetect

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.

Původní rozšíření nezobrazuje správně veškerý víceřádkový obsah.

Toto rozvětvení vykreslí veškerý víceřádkový obsah správně.

Testovací stránka pro MobileDetect
Příklad šablony

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