• 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];
    			[b]link = link.replace('[(site_url)]','');[/b]
    			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
  • 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.
  • 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?
  • 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
  • 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="...>?
  • 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

Um eine Antwort zu verfassen musst Du dich anmelden.

locked Dieses Thema wurde geschlossen, Du kannst daher keine Antwort mehr verfassen.