# Javascript geht nur offline im safari - online läuft es nicht!?



## Phil1710 (27. Aug 2011)

Hallo habe mal eine Frage.

Ich arbeite mit verschiedenen Javascripts auf meiner Seite. Diese werden jedoch nicht richtig geladen, wenn ich die Seite online auf meinem Server betrachte. Offline geht es tadellos. Hier geht es nur um den Safari Browser auf Windows. Der Explorer zeigt die Scripte on- und offline sauber an. An was könnte das liegen?

Gruß


----------



## Marcinek (27. Aug 2011)

Kein Quellcode
Keine Fehlermeldung

Wir sind super Schlau aber können nicht bei dir auf den Rechner schauen.


----------



## Phil1710 (27. Aug 2011)

hi, dachte das hat vielleicht einen grund der auch ohne quelltext herauszufinden ist - oder ist vielleicht ein bekannter fehler.

Zu meinen ist das mein Bildercarousel


```
<div class="carousel-box" style="left: 0px; top: 0px">
                  <div class="prev"><a href="#"><img src="images/prev.gif" alt="" /></a></div>
                  <div class="next"><a href="#"><img src="images/next.gif" alt="" /></a></div>
                  <div class="carousel">
                     <h4>Featured Homes for sale</h4>
                     <ul>
                        <li><a href="#"><img src="images/1page-img1.jpg" alt="" /></a></li>
                        <li><a href="#"><img src="images/1page-img2.jpg" alt="" /></a></li>
                        <li><a href="#"><img src="images/1page-img3.jpg" alt="" /></a></li>
                        <li><a href="#"><img src="images/1page-img4.jpg" alt="" /></a></li>
                        <li><a href="#"><img src="images/1page-img5.jpg" alt="" /></a></li>
                     </ul>
                  </div>
               </div>
```

Das ist die js Datei

```
(function($) {                                          // Compliant with jquery.noConflict()
$.fn.jCarouselLite = function(o) {
    o = $.extend({
        btnPrev: null,
        btnNext: null,
        btnGo: null,
        mouseWheel: false,
        auto: null,

        speed: 600,
        easing: 'easeOutCirc',

        vertical: false,
        circular: true,
        visible: 5,
        start: 0,
        scroll: 1,

        beforeStart: null,
        afterEnd: null
    }, o || {});

    return this.each(function() {                           // Returns the element collection. Chainable.

        var running = false, animCss=o.vertical?"top":"left", sizeCss=o.vertical?"height":"width";
        var div = $(this), ul = $("ul", div), tLi = $("li", ul), tl = tLi.size(), v = o.visible;

        if(o.circular) {
            ul.prepend(tLi.slice(tl-v-1+1).clone())
              .append(tLi.slice(0,v).clone());
            o.start += v;
        }

        var li = $("li", ul), itemLength = li.size(), curr = o.start;
        div.css("visibility", "visible");

        li.css({overflow: "hidden", float: o.vertical ? "none" : "left"});
        ul.css({margin: "0", padding: "0", position: "relative", "list-style-type": "none", "z-index": "1"});
        div.css({overflow: "hidden", position: "relative", "z-index": "2", left: "0px"});

        var liSize = o.vertical ? height(li) : width(li);   // Full li size(incl margin)-Used for animation
        var ulSize = liSize * itemLength;                   // size of full ul(total length, not just for the visible items)
        var divSize = liSize * v;                           // size of entire div(total length for just the visible items)

        li.css({width: li.width(), height: li.height()});
        ul.css(sizeCss, ulSize+"px").css(animCss, -(curr*liSize));

        div.css(sizeCss, divSize+"px");                     // Width of the DIV. length of visible images

        if(o.btnPrev)
            $(o.btnPrev).click(function() {
                return go(curr-o.scroll);
            });

        if(o.btnNext)
            $(o.btnNext).click(function() {
                return go(curr+o.scroll);
            });

        if(o.btnGo)
            $.each(o.btnGo, function(i, val) {
                $(val).click(function() {
                    return go(o.circular ? o.visible+i : i);
                });
            });

        if(o.mouseWheel && div.mousewheel)
            div.mousewheel(function(e, d) {
                return d>0 ? go(curr-o.scroll) : go(curr+o.scroll);
            });

        if(o.auto)
            setInterval(function() {
                go(curr+o.scroll);
            }, o.auto+o.speed);

        function vis() {
            return li.slice(curr).slice(0,v);
        };

        function go(to) {
            if(!running) {

                if(o.beforeStart)
                    o.beforeStart.call(this, vis());

                if(o.circular) {            // If circular we are in first or last, then goto the other end
                    if(to<=o.start-v-1) {           // If first, then goto last
                        ul.css(animCss, -((itemLength-(v*2))*liSize)+"px");
                        // If "scroll" > 1, then the "to" might not be equal to the condition; it can be lesser depending on the number of elements.
                        curr = to==o.start-v-1 ? itemLength-(v*2)-1 : itemLength-(v*2)-o.scroll;
                    } else if(to>=itemLength-v+1) { // If last, then goto first
                        ul.css(animCss, -( (v) * liSize ) + "px" );
                        // If "scroll" > 1, then the "to" might not be equal to the condition; it can be greater depending on the number of elements.
                        curr = to==itemLength-v+1 ? v+1 : v+o.scroll;
                    } else curr = to;
                } else {                    // If non-circular and to points to first or last, we just return.
                    if(to<0 || to>itemLength-v) return;
                    else curr = to;
                }                           // If neither overrides it, the curr will still be "to" and we can proceed.

                running = true;

                ul.animate(
                    animCss == "left" ? { left: -(curr*liSize) } : { top: -(curr*liSize) } , o.speed, o.easing,
                    function() {
                        if(o.afterEnd)
                            o.afterEnd.call(this, vis());
                        running = false;
                    }
                );
                // Disable buttons when the carousel reaches the last/first, and enable when not
                if(!o.circular) {
                    $(o.btnPrev + "," + o.btnNext).removeClass("disabled");
                    $( (curr-o.scroll<0 && o.btnPrev)
                        ||
                       (curr+o.scroll > itemLength-v && o.btnNext)
                        ||
                       []
                     ).addClass("disabled");
                }

            }
            return false;
        };
    });
};

function css(el, prop) {
    return parseInt($.css(el[0], prop)) || 0;
};
function width(el) {
    return  el[0].offsetWidth + css(el, 'marginLeft') + css(el, 'marginRight');
};
function height(el) {
    return el[0].offsetHeight + css(el, 'marginTop') + css(el, 'marginBottom');
};

})(jQuery);
```


----------



## Evil-Devil (27. Aug 2011)

Wie bindest du die jQuery Lib ein? Liegt die Lokal vor oder wird die direkt vom jQuery Server bezogen? Oder blockert dein Safarie vielleicht Daten? Am besten mal den Entwickler Modus öffnen und verfolgen ob alles geladen wird, was geladen werden soll.


----------

