Ergebnis 1 bis 10 von 10

Thema: Colorbox für Mobile deaktivieren?

  1. #1
    Contao-Fan Avatar von comanche
    Registriert seit
    12.11.2009.
    Beiträge
    496

    Standard Colorbox für Mobile deaktivieren?

    Hallo,

    ich verwende die Colorbox um Bilder/Galerien anzuzeigen. Jetzt zeig' ich für's Smartphone die Galerie-Thumbnails schon mit 100% Breite im Browser und möchte deshalb verhindern, dass sich die Colorbox (oder ein neues Fenster) für die Bilder öffnet. Wie kann ich das realisieren?

    Danke und Gruß,
    Andreas

  2. #2
    Community-Moderator Avatar von stefan-at-work
    Registriert seit
    05.06.2009.
    Ort
    Bad Segeberg
    Beiträge
    1.780
    Partner-ID
    634

    Standard

    ein Lösungsweg wäre per Modul mobilecontent. Desktopversion mit Galerie und Großbildansicht, mobil mit Galerie ohne Großansicht.

  3. #3
    Contao-Fan Avatar von comanche
    Registriert seit
    12.11.2009.
    Beiträge
    496

    Standard

    Danke für den Hinweis, Stefan!

    Um die Pflege für Redakteure zu vereinfachen würde ich gerne auf zusätzliche Layouts und Contentelemente verzichten. Kann man per Script den Link der Elemente "a.cboxElement" entfernen/deaktivieren?

    Grüße,
    Andreas

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.124
    Partner-ID
    10107

    Standard

    Du könntest dir im j_colorbox Template eine entsprechende Abfrage einbauen.

  5. #5
    Contao-Fan Avatar von mandrake
    Registriert seit
    19.06.2009.
    Ort
    Düsseldorf
    Beiträge
    461

    Standard

    Wobei die Abfrage im Template z.B. wie folgt aussehen könnte:

    Code:
    <script src="<?= TL_ASSETS_URL ?>assets/jquery/colorbox/<?= $GLOBALS['TL_ASSETS']['COLORBOX'] ?>/js/colorbox.min.js"></script><script>
      (function($) {
        $(document).ready(function() {
    
    
          var window_width = window.innerWidth;
          if (window_width >= 901) {
    
    
          $('a[data-lightbox]').map(function() {
            $(this).colorbox({
              // Put custom options here
              loop: false,
              rel: $(this).attr('data-lightbox'),
              maxWidth: '95%',
              maxHeight:'95%'
            });
          });
    
    
          } else {
    
    
          $('a[data-lightbox]').map(function() {
             $(this).removeAttr('data-lightbox').removeAttr('href');
            });
          }
    
    
        });
      })(jQuery);
    </script>

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.124
    Partner-ID
    10107

    Standard

    Den href würde ich nicht removen.

  7. #7
    Contao-Fan Avatar von comanche
    Registriert seit
    12.11.2009.
    Beiträge
    496

    Standard

    Zitat Zitat von mandrake Beitrag anzeigen
    Wobei die Abfrage im Template z.B. wie folgt aussehen könnte:
    Das funktioniert prima - vielen Dank!

    @Spooky: wenn ich den href nicht entferne, dann wird ja das verlinkte Bild im Browserfenster angezeigt. Das soll vermieden werden. Oder siehst du eine andere Lösung?

    Schonmal VIELEN DANK an alle!

    Grüße,
    Andreas

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.124
    Partner-ID
    10107

    Standard

    Wenn du den href entfernst hat der User gar keine Möglichkeit mehr am Smartphone das Original Bild zu öffnen.

  9. #9
    Contao-Fan Avatar von comanche
    Registriert seit
    12.11.2009.
    Beiträge
    496

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Wenn du den href entfernst hat der User gar keine Möglichkeit mehr am Smartphone das Original Bild zu öffnen.
    Das ist ein Argument. Muss ich mal drüber nachdenken ...

    Danke und Grüße,
    Andreas

  10. #10
    Contao-Nutzer Avatar von rflx
    Registriert seit
    06.08.2009.
    Ort
    127.0.0.1
    Beiträge
    98

    Standard

    Hallo zusammen
    Um die Attribute und deren Werte nicht zu entfernen könnte man auch folgende Variante mit preventDefault() anwenden:

    Code:
    (function($) {
       $(document).ready(function() {
          if (window.innerWidth >= 768) {
             $('a[data-lightbox]').map(function() {
                $(this).colorbox({
                   // Put custom options here
                   loop: false,
                   rel: $(this).attr('data-lightbox'),
                   maxWidth: '95%',
                   maxHeight: '95%'
                });
             });
          } else {
             $('a[data-lightbox]').map(function() {
                $(this).click(function(e) {
                   e.preventDefault();	
                });
             });
          }
       });
    })(jQuery);
    Anstatt mit window.innerWidth könnte man jetzt aber auch mit den Contao eigenen Abhängigkeits-Klassen des Betriebssystems und des Browsers arbeiten die im <body>-Tag hinzugefügt werden:

    Code:
    (function($) {
       $(document).ready(function() {
          var $body = $('body');
          if (!$body.hasClass('mobile')) {
             $('a[data-lightbox]').map(function() {
                $(this).colorbox({
                   // Put custom options here
                   loop: false,
                   rel: $(this).attr('data-lightbox'),
                   maxWidth: '95%',
                   maxHeight: '95%'
                });
             });
          } else {
             $('a[data-lightbox]').map(function() {
                $(this).click(function(e) {
                   e.preventDefault();	
                });
             });
          }
       });
    })(jQuery);
    Mehr über die Abhängigkeits-Klassen des Betriebssystems und des Browsers findet ihr hier:
    https://contao.org/de/news/vergesst-...ontao-210.html


    Cheers,
    rflx

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •