• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak stosować bibliotekę Mobile Detect Browser?

Object Storage Arubacloud
0 głosów
254 wizyt
pytanie zadane 5 września 2017 w JavaScript przez kamil29 Obywatel (1,230 p.)

Ostatnio natknąlem się na problem deaktywacji animacji na stronie. 

Znalazlem taki artykul: http://grafmag.pl/artykuly/strona-internetowa-z-filmem-wideo-w-tle/ (może komuś się przyda).

 Mój problem dotyczy stosowania instrukcji warunkowej do kodu wykrywającego przeglądarki mobilne: http://detectmobilebrowsers.com/

 <script>
            window.mobilecheck = function() {
                var check = false;
                (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
                return check;
            }

            $(function() {
                var $video = $('#bg');

                if (window.mobilecheck()) {
                    $video.remove();
                    $('#wrapper nav').remove();
                }
</script>

 

 

Dla czytelności wstawię jeszcze kod tylko samego if-a: 

if (window.mobilecheck()) {
    $video.remove();
    $('#wrapper nav').remove();
}

 

Jak widać zostala podana nazwa samego tagu-video. A co jeśli chcialbym zastosować ten kod do usunięcia animacji stworzonych w ten sposób: 

<section class="os-animation" data-os-animation="fadeInRightBig" data-os-animation-delay=".3s">
             

                 <h1>Witaj na mojej stronie internetowej!</h1>
                </section>

Poza tym kodem oczywiście musi być dolaczana biblioteka animate.css i waypoints.js. I jak poprawnie napisać kod,by wszystko zadzialalo. Ja jedynie widzę możliwość dodania klasy do <section>,ale wolalbym aby wypowiedzial się na ten temat specjalista.

Pozdrawiam

komentarz 5 września 2017 przez kamil29 Obywatel (1,230 p.)
czy pomysl dodania klasy do <section > jest dobry czy sa jakieś lepsze rozwiazania?
komentarz 5 września 2017 przez kamil29 Obywatel (1,230 p.)
prosze o pomoc

1 odpowiedź

0 głosów
odpowiedź 6 września 2017 przez ShiroUmizake Nałogowiec (46,300 p.)
Co próbujesz właściwie skórać dodając klasę CSS?
komentarz 6 września 2017 przez kamil29 Obywatel (1,230 p.)
no nwm taki jest moj pomysl,wiesz jak to rozwiazac tak by wszystko dobrze dzialalo?
komentarz 6 września 2017 przez ShiroUmizake Nałogowiec (46,300 p.)
Ale co chcesz osiągnąć? :D
komentarz 6 września 2017 przez kamil29 Obywatel (1,230 p.)
chodzi glownie o to ze chcialbym nauczyc sie stosowac ta biblioteke do anulowania dzialania kodu odpowiedzialnego za takie efekty jak animacje,czy chociazby  przyciski nawigujace do gory strony w przegladarkach mobilnych. Mysle ze jest to cenna umiejetnosc pozwalajaca na lepsza optymalizacje. Jednak nie do konca wiem jak poprawnie stosowac ta instrukcje warunkowa:

if (window.mobilecheck()) {

    $video.remove();

    $('#wrapper nav').remove();

}

 powyzej jest video.remove i chodzi mi o to jak poprawnie zamiast np video wstawic klase czy cos takiego. Po prostu chodzi mi o sposob na stosowanie tego w roznych przypadkach
komentarz 6 września 2017 przez ShiroUmizake Nałogowiec (46,300 p.)

Po pierwsze, że to usuniesz to nie zmieni biblioteka i tak zostanie wczytana. A po drugie bardziej to zamulisz xd. Zauważ, żeby wykonać twój kod pierw się musi wczytać DOM, a potem każesz silnikowi usunąć ten węzeł (gdyż nie możesz mu pozwolić wykonać ten kod, gdy DOM jest nie wczytany czyli np: podczas zdarzenia "load". A jakbyś robił to na DOM, to użytkownik by się zdzwił , że nagle coś było i nagle nie ma. No chyba, że wstawisz jakiś placeholder.

 https://developer.mozilla.org/en-US/docs/Web/Events/load

A tu masz link do różnic:

https://stackoverflow.com/questions/2414750/difference-between-domcontentloaded-and-load-events

Jakbyś próbował przez load, to ci wyrzuci undefined. Bądż próbował sobie jakoś z tym poradzić. Zakładam, że jednak to  te pierwsze.

Animate najłatwiej po prostu nadpisać, gorzej z js-wymi bibliotekami.

I tu możesz to spowodować na zdarzeniu load, gdyż nie odwołujemy się DOM, a do kodu. Sprawdzamy, czy urządzenie jest mobilne jeśli tak  , to nie wczytujemy biblioteki jeśli tak do doczytujemy bibliotekę. Można to zrobić na czystym JS. Ale lepsza do tego jest SystemJS.

https://github.com/systemjs/systemjshttps://github.com/systemjs/systemjs

Czyli jakby mógł wyglądać twój kod.

if (!window.mobileCheck()){
SystemJS.import('twoj-url-do-biblioteki);
}

Co i jak dlaczego, zapraszam do dokumentacji systemJS. Przyda Ci się, bo poznasz nową rzecz jaką są moduły. 

komentarz 6 września 2017 przez kamil29 Obywatel (1,230 p.)
czyli rozumiem ze takie rozwiazania i tak nie  przyspiesza strony?
komentarz 6 września 2017 przez ShiroUmizake Nałogowiec (46,300 p.)
Jeżeli będziesz wczytywał zasób to nie.
komentarz 6 września 2017 przez kamil29 Obywatel (1,230 p.)
a w takim razie co zrobic zeby zasob nie byl wczytywany
komentarz 6 września 2017 przez ShiroUmizake Nałogowiec (46,300 p.)
A czytałeś to co ci podałem ?
komentarz 6 września 2017 przez kamil29 Obywatel (1,230 p.)

jeszcze nie ale juz to zamierzam zrobicsmiley

Podobne pytania

0 głosów
0 odpowiedzi 94 wizyt
pytanie zadane 17 marca 2018 w HTML i CSS przez maciek77 Użytkownik (830 p.)
0 głosów
0 odpowiedzi 187 wizyt
pytanie zadane 22 października 2017 w JavaScript przez redtyper Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 69 wizyt
pytanie zadane 18 czerwca 2020 w JavaScript przez Gamer777 Nowicjusz (220 p.)

92,580 zapytań

141,432 odpowiedzi

319,665 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...