LightBox qui marche pas en ligne mais en local

LightBox qui marche pas en ligne mais en local - HTML/CSS - Programmation

Marsh Posté le 21-07-2021 à 20:46:17    

Bonjour,
 
J'ai une lightbox qui marche plus en ligne mais qui marche en local, ca marchait avant...
 
Je vous remercie d'avance pour votre aide.  :) :)
 
Lien du site :
https://www.milifit.fr/stage-de-cohesion-milifit.php
 
 
J'ai remarqué que quand je retire de la page le script ci dessous j'ai le même problème en local.
 

Code :
  1. <link href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css" rel="stylesheet">


 
 
 
 
Voici le code :
 
2 première image de la galerie
 
 

Code :
  1. <div class="container py-7">
  2.                         <div class="row no-gutters" data-toggle="magnific-popup" data-magnific-popup-settings='{"delegate": "a.gallery-trigger", "gallery":{"enabled":true}}'>
  3.                             <div class="col-6 col-lg-3">
  4.                                 <div class="card-effect card-effect-front-to-back">
  5.                                     <img data-src="assets/img/galerie/stage/stage-cohesion-handball-feminin-mini.jpg" data-toggle="blazy" alt="Stage de cohesion handball" class="img-fluid" />
  6.                                     <div class="card-back rounded bg-dark bg-op-8 flex-valign text-center p-3">
  7.                                         <a href="assets/img/galerie/stage/stage-cohesion-handball-feminin.jpg" class="text-white gallery-trigger"> <i class="ion-ios-search-strong icon-1x"></i> </a>
  8.                                     </div>
  9.                                 </div>
  10.                             </div>
  11.                             <div class="col-6 col-lg-3">
  12.                                 <div class="card-effect card-effect-front-to-back">
  13.                                     <img data-src="assets/img/galerie/stage/stage-cohesion-handball-feminin-2-mini.jpg" data-toggle="blazy" alt="Stage de cohesion handball féminin" class="img-fluid" />
  14.                                     <div class="card-back rounded bg-dark bg-op-8 flex-valign text-center p-3">
  15.                                         <a href="assets/img/galerie/stage/stage-cohesion-handball-feminin-2.jpg" class="text-white gallery-trigger"> <i class="ion-ios-search-strong icon-1x"></i> </a>
  16.                                     </div>
  17.                                 </div>
  18.                             </div>
  19.                        </div>
  20.         </div>


 
 
CSS  :  
 

Code :
  1. .card-effect {
  2.   position: relative;
  3.   margin: 0;
  4.   }
  5. &.card-effect-front-to-back,
  6.   &.card-effect-back-reveal {
  7.     .card-front {
  8.       z-index: 10;
  9.       -webkit-backface-visibility: hidden;
  10.       -moz-backface-visibility: hidden;
  11.       backface-visibility: hidden;
  12.       -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
  13.       -moz-transition: -moz-transform 0.4s, opacity 0.4s;
  14.       transition: transform 0.4s, opacity 0.4s;     
  15.     }
  16.     .card-back {
  17.       height: 100%;
  18.       width: 100%;
  19.       opacity: 0;
  20.       -webkit-transform: scale(0.7);
  21.       -moz-transform: scale(0.7);
  22.       -ms-transform: scale(0.7);
  23.       transform: scale(0.7);
  24.       -webkit-backface-visibility: hidden;
  25.       -moz-backface-visibility: hidden;
  26.       backface-visibility: hidden;
  27.       -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
  28.       -moz-transition: -moz-transform 0.4s, opacity 0.4s;
  29.       transition: transform 0.4s, opacity 0.4s;     
  30.     }


 
Javascript :
 

Code :
  1. // Object of plugins to add to Globals.PLUGINS
  2. Globals.PLUGINS.themePluginCubePortfolio = function(context) {
  3.   // ----------------------------------------------------------------
  4.   // Plugin: Cube Portfolio
  5.   // @see: http://hilios.github.io/jQuery.countdown/
  6.   // ----------------------------------------------------------------
  7.   var $cubePortfolios = context.find('[data-toggle="cbp"]');
  8.   if ($cubePortfolios.length > 0) {
  9.     var themePluginCubePortfolioInit = function() {
  10.       $cubePortfolios.each(function() {
  11.         var $this = $(this),
  12.           customSettings = $this.data('settings') || {},
  13.           defaultSettings = {
  14.             layoutMode: 'mosaic',
  15.             sortToPreventGaps: true,
  16.             defaultFilter: '*',
  17.             animationType: 'slideDelay',
  18.             gapHorizontal: 2,
  19.             gapVertical: 2,
  20.             gridAdjustment: 'responsive',
  21.             mediaQueries: [{
  22.               width: 1100,
  23.               cols: 4
  24.             }, {
  25.               width: 800,
  26.               cols: 3
  27.             }, {
  28.               width: 480,
  29.               cols: 2
  30.             }, {
  31.               width: 0,
  32.               cols: 1
  33.             }],
  34.             caption: 'zoom',
  35.             displayTypeSpeed: 100,
  36.             // lightbox
  37.             lightboxDelegate: '.cbp-lightbox',
  38.             lightboxGallery: true,
  39.             lightboxTitleSrc: 'data-title',
  40.             lightboxCounter: '<div class="cbp-popup-lightbox-counter">{{current}} of {{total}}</div>',
  41.             // singlePageInline
  42.             singlePageInlinePosition: 'top',
  43.             singlePageInlineInFocus: true,
  44.             // singlePage
  45.             singlePageAnimation: 'fade'
  46.           },
  47.           settings = $.extend({}, defaultSettings, customSettings);
  48.         // Custom callbacks
  49.         settings.singlePageInlineCallback = function(url, element) {
  50.           var t = this,
  51.             $this = $(t),
  52.             $element = $(element),
  53.             content = $element.data('content') || 'ajax',
  54.             customNavButtons = function($html, t) {
  55.               var customClose = $html.find('[data-cbp-close]') || null;
  56.               if (customClose !== null) {
  57.                 $(t.wrap).addClass('has-custom-close');
  58.                 $(t.closeButton).hide();
  59.                 customClose.on('click', function() {
  60.                   t.close();
  61.                 });
  62.               }
  63.             };
  64.           // get content from ajax or inline HTML
  65.           if (content !== 'ajax' && $(content).length > 0) {
  66.             // Inline HTML
  67.             var html = $(content).clone(true, true);
  68.             html.themeRefresh();
  69.             t.content.html('');
  70.             t.content.append(html.contents());
  71.             t.cubeportfolio.$obj.trigger('updateSinglePageInlineStart.cbp');
  72.             t.singlePageInlineIsOpen.call(t);
  73.           } else if (content == 'ajax') {
  74.             // Ajax
  75.             $.ajax({
  76.                 url: url,
  77.                 type: 'GET',
  78.                 dataType: 'html',
  79.                 timeout: 30000
  80.               })
  81.               .done(function(result) {
  82.                 // overwritter updateSinglePageInline() so events work
  83.                 var html = $(result);
  84.                 html.themeRefresh();
  85.                 customNavButtons(html, t);
  86.                 t.content.html('');
  87.                 t.content.append(html);
  88.                 t.cubeportfolio.$obj.trigger('updateSinglePageInlineStart.cbp');
  89.                 t.singlePageInlineIsOpen.call(t);
  90.                 if ($document.imagesLoaded) {
  91.                   t.content.imagesLoaded(function() {
  92.                     // If inline has owlCarousel
  93.                     var $owl = t.content.find('[data-toggle="owl-carousel"]');
  94.                     $owl.on('translated.owl.carousel', function(event) {
  95.                       setTimeout(function() {
  96.                         t.resizeSinglePageInline();
  97.                       }, 200);
  98.                     });
  99.                     setTimeout(function() {
  100.                       t.resizeSinglePageInline();
  101.                     }, 1000);
  102.                   });
  103.                 }
  104.               })
  105.               .fail(function() {
  106.                 t.updateSinglePageInline('AJAX Error! Please refresh the page!');
  107.               });
  108.           } else {
  109.             t.updateSinglePageInline('Content Error! Please refresh the page!');
  110.           }
  111.         };
  112.         settings.singlePageCallback = function(url, element) {
  113.           var t = this;


Message édité par Izno69 le 21-07-2021 à 21:11:17

---------------
Sites perso : www.websitin.fr - www.pokerstrat.fr
Reply

Marsh Posté le 21-07-2021 à 20:46:17   

Reply

Marsh Posté le 21-07-2021 à 23:24:58    

http://code.ionicframework.com/ion [...] ns.min.css
Tout est dit :o
Tu veux mettre un lien en http dans une page https. Le navigateur va bloquer car le http, c'est pas secure...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 22-07-2021 à 14:39:12    

haaaa merci beaucoup.  
C'est trop bien internet toujours des mecs qui on réponse a tout ^^


---------------
Sites perso : www.websitin.fr - www.pokerstrat.fr
Reply

Marsh Posté le 22-07-2021 à 14:45:18    

Je me demandais c'est pas risqué d'avoir des liens externes au site comme ca pour faire fonctionner celui ci ? Si le site en question down mon site ne marchera plus... ??


---------------
Sites perso : www.websitin.fr - www.pokerstrat.fr
Reply

Marsh Posté le 22-07-2021 à 17:42:09    

Non, tu n'auras simplement plus d'icône.
Donc, tu peux sauver le ficher en local, et le charger depuis ton domaine
Mais tu as besoin de ce fichier ? C'est quand que tu emploies ces icônes?

 

En plus tu download la version .ttf, la plus lourde.
Si tu mets le fichier en local, tu pourras retirer ce code de la CSS
src:url("../fonts/ionicons.eot?v=2.0.1" );src:url("../fonts/ionicons.eot?v=2.0.1#iefix" ) format("embedded-opentype" ),url("../fonts/ionicons.ttf?v=2.0.1" ) format("truetype" ),


Message édité par David Boring le 22-07-2021 à 17:42:58
Reply

Marsh Posté le 22-07-2021 à 20:47:17    

Franchement, faire appel à une site web externe (donc créer une dépendance) et ainsi augmenter le risque de défaillance pour afficher quelques icônes sur son propre site alors qu'une balise <img /> ou une image png en background de la balise qui doit affiche l'icône suffirait, ça me dépasse  :sarcastic:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-07-2021 à 09:37:39    

En théorie, passer par un CDN pour charger une font d’icône c'est très bien: si tout le monde utilises les mêmes set d’icône et les même cdn, tu ne gaspille pas de la bande passante et de la place sur ton disque dur pour télécharger encore et encore fontawesome pacque tout le monde a besoin des 10 mêmes icônes sur son site.
Résultat des sites se chargeant plus vite et "moins polluant". :o  
 
Sauf que des CDNs y'en a pléthore, des font d’icône aussi (avec chacune plusieurs versions) donc dans les faits...
 
...a part risquer des problèmes d'affichage (voir pire quand on sert des versions de bibliothèque js https://shkspr.mobi/blog/2020/10/pl [...] libraries/ ).


---------------
D3
Reply

Marsh Posté le 23-07-2021 à 10:59:46    

On a vu ce que ça a donné quand un gros CDN a récemment planté : des millions de sites web down.
Je rejoins l'avis de l'auteur de ton lien.
 
Et c'est d'autant plus vrai quand le site web est une appli web, type intranet. Un tel include c'ets s'exposer aux pbs de failles de sécu, collecte de données ou même tout simplement, si l'intranet est dans une partie du réseau qui n'accède pas à internet, tu fais comment pour charger la lib ? :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-07-2021 à 17:27:21    

Je vous remercie pour vos réponses, je vais y réfléchir.
Après je comprends pas pourquoi un simple set d'icone non chargé fait buger l'ouverture d'une lightbox. ok il y a plus l'icone loupe sur l'image mais ca devrait pas empêcher l'ouverture...


---------------
Sites perso : www.websitin.fr - www.pokerstrat.fr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed