Vanilla 1.1.2 Forum von Lussumo. Weitere Informationen: Dokumentation, Community.

    •  
      CommentAuthorAndy
    • CommentTime03.01.2012
     permalink
    Hallo zusammen,

    zuerst einmal wünsche ich euch allen ein frohes neues Jahr :smile:

    So, nun zu meiner Frage. Ich habe bzw. hatte seit fast einem Jahr eine Seite mit fancybox (Version 1.3.4) mit phpthumb am laufen. MODx: Evo 1.0.5
    Nun hat mein Provider gegen Ende des Jahres ein Update von php 5.0.45 auf 5.3.5 eingespielt -> fancybox läuft nicht mehr.

    Die Firefox Fehlerkonsole meldet einen Fehler in Zeile 4 des Scriptes

    link is undefined
    ..../jquery.fancybox-script.js Zeile 4


    jQuery(document).ready(function() {
    jQuery('img.fancybox').each(function(){
    var link = jQuery(this).attr("src").split("&")[0].split("=")[1];
    link = link.replace('[(site_url)]','');
    link = link.replace('_thumb','');
    jQuery(this).wrap('<a href="'+link+'" rel="gruppe" class="fancybox" title="'+this.title+'"></a>');
    });

    jQuery('a.fancybox').fancybox({
    "padding": 1,
    "speedIn": 500,
    "speedOut": 500,
    "changeSpeed": 300,
    "transitionIn": "elastic",
    "transitionOut": "elastic",
    "titlePosition": "over",
    "titleShow": true,
    "easingIn": "swing",
    "easingOut": "swing",
    "showCloseButton": true,
    "showNavArrows": true,
    "enableEscapeButton": true,
    "overlayShow": true,
    "overlayOpacity": 0.7,
    "overlayColor": "#000",
    "centerOnScroll": false,
    "hideOnContentClick": true,
    });
    });


    Dieser Fehler blockiert auch ein weiteres jquery Script, deaktiviere ich das jquery.fancybox-script.js läuft der Rest wie gewohnt.

    Könnt ihr mir mal kurz helfen wo ich da ansetzten muss.

    Danke vielmals

    Grüße Andy
    •  
      CommentAuthorganeshXL
    • CommentTime03.01.2012
     permalink
    Zeile 4 wäre
    link = link.replace('[(site_url)]','');

    Wenn du das genau so siehst mit Firebug / Firefox, heisst das soviel wie "die MODX Tags werden nicht verarbeitet", d.h. [(site_url)] bleibt so stehen, statt dass aus diesem Tag irgendwas wie http://www.deinedomain.de/ wird. Versuch mal, den Browser- und MODX Cache zu leeren.
    •  
      CommentAuthorganeshXL
    • CommentTime03.01.2012
     permalink
    Nachdem ich das nochmals gelesen habe, fand ich es erstaunlich, dass es bis anhin funktioniert hat. Werden externe .js Dateien denn auch von MODX geparst, d.h. wurde vorher jedes externe .js auf MODX-Tags überprüft? Oder lag dieses JS in einem Chunk?
    •  
      CommentAuthorAndy
    • CommentTime03.01.2012
     permalink
    Das jScript liegt in einer externen Datei, diese wird über ein Chunk in das Template geladen...

    Im Template:
    {{js-maintemplate}}

    Chunk js-maintemplate
    <script type="text/javascript" src="[(base_url)]assets/templates/baf-site/js/fancybox-134/jquery.fancybox-script.js"></script>

    Grüße Andy
    •  
      CommentAuthorsam
    • CommentTime03.01.2012 bearbeitet
     permalink
    Die Fehlermeldung würde ich so erklären:
    Mit der Zeile link = link.replace('[(site_url)]','');wird versucht "[(site_url)]" aus der Zeichenketten-Variablen namens "link" zu entfernen, und schlägt fehl, weil "link" nicht definiert ist. (Mit alert(link); in Zeile 4 dürfte dann auch "undefined" erscheinen.)

    Die Frage ist also: Warum ist die Variable "link" nicht definiert? Sollte doch in Zeile 3 geschehen sein.
    Befindet sich auf der Seite mit dem Script vielleicht kein <img class="fancybox" src="...>?
    •  
      CommentAuthorAndy
    • CommentTime04.01.2012
     permalink
    Hallo Sam, verstehe ich auch nicht. Im Quelltext sieht´s gut aus

    <img class="fancybox" style="float: right;" title="" src="assets/images/2010-baf-aussen.jpg" alt="" width="150" height="100" />

    Grüße Andy