Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Dostosowanie pluginu mcustomscrollbar

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

Dostosowanie pluginu mcustomscrollbar

Post 17.02.2017, 04:40:53

Witam ponownie,
Mam swoją stronę: link, na której użyłem CSP (Content Security Policy) z następującą dyrektywą:
Kod: Zaznacz cały
Header always set Content-Security-Policy "default-src 'self';"

CSP jak najbardziej działa, ale niestety (jak widać w konsoli na mojej stronie) zwraca mi nieliczne błędy. Ustaliłem, że wszystkie dotyczą jednego pluginu, gdyż po jego wyłączeniu nie dostaję już żadnych błędów.
Moje pytanie jest takie, czy jest ktoś tutaj w stanie pomóc mi edytować ten plugin tak by pozbyć się z niego tego wstawiania kodu inline i samemu stworzyć strukturę scrollbara zamiast ją generować? ew. za ile jest ktoś w stanie pomóc mi rozwiązać ten problem?

@Kuku liczę na Twoją radę czy warte zachodu jest całe przedsięwzięcie? Twoje doświadczenie pozwoli Ci na szybko ocenić czy warto pchać się dalej czy jednak zrezygnować ze skryptu. Na swoją obronę dodam że zmodyfikowałem trochę wywołanie skryptu tak by dodawać efekt podczas przewijania i trochę żal mi od tak wyrzucić wielomiesięczną pracę, z powodu głównej funkcji tego skryptu.

Pozdrawiam
ZicoPL
Posty: 16
Dołączył(a): 15.01.2017

Re: Dostosowanie pluginu mcustomscrollbar

Post 17.02.2017, 09:36:04

Czy mógłbyś na czas developmentu umieszczać pełne, niezminimalizowane źródła js? Znacznie ułatwiłoby sprawdzanie, który element skryptu jest problematyczny i ocenić ilość pracy, szczególnie że - jak dobrze cie zrozumiałem - dokonałeś modyfikacji w oryginale pluginu scrollbara.

-- edit
patrząc na https://github.com/malihu/malihu-custom ... rollbar.js
widzę potencjalne linie do zmiany:
#865
Kod: Zaznacz cały
scrollbar=["<div id='mCSB_"+d.idx+"_scrollbar_vertical' class='mCSB_scrollTools mCSB_"+d.idx+"_scrollbar mCS-"+o.theme+" mCSB_scrollTools_vertical"+expandClass+"'><div class='"+classes[12]+"'><div id='mCSB_"+d.idx+"_dragger_vertical' class='mCSB_dragger' style='position:absolute;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>","<div id='mCSB_"+d.idx+"_scrollbar_horizontal' class='mCSB_scrollTools mCSB_"+d.idx+"_scrollbar mCS-"+o.theme+" mCSB_scrollTools_horizontal"+expandClass+"'><div class='"+classes[12]+"'><div id='mCSB_"+d.idx+"_dragger_horizontal' class='mCSB_dragger' style='position:absolute;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>"],


(tutaj warto sprawdzić, czy position: absolute można zdefiniować bez konsekwencji w stylach w klasie mCSB_dragger)

#874
Kod: Zaznacz cały
$this.addClass(pluginNS+" _"+pluginPfx+"_"+d.idx+autoHideClass+scrollbarDirClass).wrapInner("<div id='mCSB_"+d.idx+"' class='mCustomScrollBox mCS-"+o.theme+" "+wrapperClass+"'><div id='mCSB_"+d.idx+"_container' class='mCSB_container' style='position:relative; top:"+o.setTop+"; left:"+o.setLeft+";' dir='"+d.langDir+"' /></div>");


tutaj może coś na wzór
Kod: Zaznacz cały
....wrapInner($("<div id='mCSB_"+d.idx+"' class='mCustomScrollBox mCS-"+o.theme+" "+wrapperClass+"' />").append($("<div id='mCSB_"+d.idx+"_container' class='mCSB_container' dir='"+d.langDir+"' />").css({position: 'relative', top: o.setTop,  left: o.setLeft})))


lub
Kod: Zaznacz cały
.wrapInner(
  $('<div />', {
    'id': 'mCSB_' + d.idx,
    'class': 'mCustomScrollBox mCS-' + o.theme + ' ' + wrapperClass
  }).append(
    $('<div />', {
      'id': 'mCSB_' + d.idx,
      'class': 'mCSB_container',
      'dir': d.langDir
    }).css({
      position: 'relative',
      top: o.setTop,
      left: o.setLeft
    })
  })
)


#924
Kod: Zaznacz cały
.wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />")


->
Kod: Zaznacz cały
.wrap($('<div />').addClass('mCSB_h_wrapper').css({position: 'relative', left: 0, width: '999999px'}))


lub sprawdzić, czy te style da się ustawić dla klasy mCSB_h_wrapper lub dodać do elementu nową klasę z tymi stylami

Mogłem coś przegapić, bo kod jest długi, kiepsko formatowany, nieczytelny a oglądałem go bezpośrednio na stronie githuba.
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19641
Dołączył(a): 14.04.2002

Re: Dostosowanie pluginu mcustomscrollbar

Post 21.02.2017, 03:18:30

Dziękuję Panie Adamie za to że znalazłeś trochę czasu by pomóc rozwiązać mi problem. Przepraszam że tak po paru dniach odpisuję ale sprawy służbowe i prywatne nie pozwoliły mi się skupić na mojej pasji :P Wczoraj posiedziałem trochę odnoszę wrażenie że odpowiedzialne za błędy są fragmenty które wskazałeś. Skrypt umieściłem w pełnej wersji przed minimalizacją jak mówiłeś.
Jak pisałem wcześniej, że edytowałem skrypt (główny ten zminimalizowany z library.js) to miałem na uwadze ten fragment:
Kod: Zaznacz cały
e.stopImmediatePropagation();

Natomiast wywołanie skryptu u mnie jest w funkcji setCustomScrollbar() (w index.js)

Ostatni kod który podałeś rozumiem że był przykładem jak przekształcić wpisany styl by nie zwracał błędu:
Kod: Zaznacz cały
.wrap($('<div />').addClass('mCSB_h_wrapper').css({position: 'relative', left: 0, width: '999999px'}))


O dziwo nie zmniejszyło to liczby błędów pokazywanych w konsoli.. witki opadają skąd ten błędy wynajduje csp :P
To co wywierało we mnie wątpliwości napisałem w komentarzu po Polsku.
Panie Adamie mam nadzieję że znajdzie jeszcze Pan czas na pomoc w uporaniu się z tym problematycznym skryptem ;)
Pozdrawiam
ZicoPL
Posty: 16
Dołączył(a): 15.01.2017

Re: Dostosowanie pluginu mcustomscrollbar

Post 21.02.2017, 22:23:34

Jak już prosiłem, znacznie ułatwiłoby sprawdzanie gdzie leży problem, gdybyś na czas pracy nad stroną miał pełne wersje skryptów, a nie "skompresowane".

PS. not a big deal, ale jestem Rafał, nie Adam ;-)
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19641
Dołączył(a): 14.04.2002


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Yahoo [Bot] i 5 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50677 zarejestrowanych użytkowników.
Najnowszy użytkownik: OQCJacki


Nasi użytkownicy napisali:

  • 936063 wiadomości
  • w 246712 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)