[vBulletin 4] Lightbox für externe Bilder

Dieses Thema im Forum "Webentwicklung" wurde erstellt von raid-rush, 15. Mai 2014 .

  1. 15. Mai 2014
    Zuletzt bearbeitet: 16. April 2017
    Moin,

    die VBulletin_Lightbox funktioniert nur bei internen Bildern... irgend wo scheint da eine Abfrage versteckt zu sein, die das ganze auf die lokale Domain beschränkt.

    Hat jemand eine Idee wie ich die Lightbox dazu bringe auch für externe Images zu öffnen?

    Hier das Script: http://board.raidrush.ws/clientscript/vbulletin_lightbox.js
     
  2. 12. Januar 2015
    AW: [vBulletin 4] Lightbox für externe Bilder

    Update:

    Habe es zumindest so weit, das der Lightbox die externen Bilder durcharbeitet und beim klick ausführt, aber irgend wie funktioniert es nicht.

    Wenn ich einen imageproxy davor schalte, damit es die selbe Domain ist, dann lädt nur der overlay. Lasse ich den imageproxy weg ist es wie jetzt, dann ändert er als error_handler die window.location auf die URL des Bildes.

    Code:
     
    function resizeImages() {
     for (var i = 0; i < document.images.length ;i++){
     if (document.images[i].className == 'resizeImage' || document.images[i].title == 'Bild' || document.images[i].alt == 'Bild') {
     var imageWidth = document.images[i].width;
     var imageHeight = document.images[i].height;
     
     if ((imageMaxWidth != 0 && imageWidth >= imageMaxWidth) || (imageMaxHeight != 0 && imageHeight >= imageMaxHeight)) {
     if (imageMaxWidth != 0) var div1 = imageMaxWidth / imageWidth;
     else var div1 = 1;
     if (imageMaxHeight != 0) var div2 = imageMaxHeight / imageHeight;
     else var div2 = 1;
     
     if (div1 < div2) {
     document.images[i].width = imageMaxWidth; document.images[i].height = Math.round(imageHeight * div1);
     }
     else {
     document.images[i].height = imageMaxHeight; document.images[i].width = Math.round(imageWidth * div2);
     }
     
     if (!isLinked(document.images[i])) {
     var popupLink = document.createElement("a");
     popupLink.setAttribute('href', document.images[i].src); //BBURL+'/img-proxy.php?'+
     popupLink.setAttribute('target', '_blank');
     popupLink.setAttribute('rel', 'Lightbox_'+i);
     popupLink.setAttribute('id', 'attachment0'+i);
     document.images[i].setAttribute('class','thumbnail');
     popupLink.appendChild(document.images[i].cloneNode(true)); 
     document.images[i].parentNode.replaceChild(popupLink, document.images[i]);
     }
     }
     }
     }
    }
    
    function isLinked(node) {
     do {
     node = node.parentNode;
     if (node.nodeName == 'A') return true;
     }
     while (node.nodeName != 'TD' && node.nodeName != 'BODY'); 
     return false;
    }
    
    function addEvent(element, eventName, fn) {
     if (element.addEventListener)
     element.addEventListener(eventName, fn, false);
     else if (element.attachEvent)
     element.attachEvent('on' + eventName, fn);
    }
    
    addEvent(window, 'load', function(){ resizeImages(); });
    resizeImages();
    
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.