jQuery Fehler nur im IE (8) - "Objekt nicht unterstützt..."

Habe ich dieses code-snippet (AJAX) in jQuery.

$.get('someScript.php?lat=' + clickedLatLng.lat() + '&lon=' + clickedLatLng.lng() + '&value=5', doSomething);

- Und dies ist eine Funktion (wird durch ein Symbol auf Google Maps und ändert einige Werte in input-Feldern).

function doSomething(data) {
    data = data.trim();
    data = data.split(","); 
    var stopName = data[0];
    var stopLat = data[1];
    var stopLon = data[2];

    $("#start").val(stopName);

    if (startMarker == null) {
        startMarker = new google.maps.Marker({
                            position: new google.maps.LatLng(stopLat,stopLon),
                            map: map,
                            zIndex: 2,
                            title: stopName,
                            icon: startImage 
        });
    } else {
        startMarker.setPosition(new google.maps.LatLng(stopLat,stopLon));
    }
}

Aber es funktioniert in allen Browsern außer dem IE, in meinem Fall IE 8. Ich habe nicht testen Sie es im IE 6/7. Es erscheint dieser Fehler...

jQuery Fehler nur im IE (8) -

Schaute ich in jquery.js und dies ist die Funktion, wo es bricht...

            //resolve with given context and args
            resolveWith: function( context, args ) {
                if ( !cancelled && !fired && !firing ) {
                    firing = 1;
                    try {
                        while( callbacks[ 0 ] ) {
                            callbacks.shift().apply( context, args );
                        }
                    }
                    finally {
                        fired = [ context, args ];
                        firing = 0;
                    }
                }
                return this;
            },

eigentlich

callbacks.shift().apply( context, args );

Kann jemand helfen? Wo ist das problem? Die gleiche Sache mit jquery-1.4.4.js

EDIT: Dies ist meine größeren code...

    //Set some events on the context menu links
contextMenu.find('a').click( function()
{
    //fade out the menu
    contextMenu.fadeOut(75);

    //The link's href minus the #
    var action = $(this).attr('href').substr(1);

    switch (action) {
        case 'startMenu':
            $.get('someScript.php?lat=' + clickedLatLng.lat() + '&lon=' + clickedLatLng.lng() + '&radijus=5', doSomethingWithData1);
            break;

        case 'stopMenu':
            $.get('someScript.php?lat=' + clickedLatLng.lat() + '&lon=' + clickedLatLng.lng() + '&radijus=5', doSomethingWithData2);    
            break;
    }

    return false;
});

Wenn der Benutzer klickt auf ein Element innerhalb Kontextmenü auf Google Maps, dann tun "doSomethingWithData1" und "doSomethingWithData2". Dies ist auch der code für die Kontextmenü

    //Hover events for effect
contextMenu.find('a').hover( function() {
    $(this).parent().addClass('hover');
}, function() {
    $(this).parent().removeClass('hover');
});

und diese für AJAX

$.ajaxSetup ({  
        cache: false  
    }); 

Dies ist, wie ich meine jQuery scripts.

    <!-- Google Maps -->       
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

<!-- Load Javascript /jQuery -->
<script type="text/javascript" src="js/jquery-1.5.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.position.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.autocomplete.js"></script>

<link rel="stylesheet" href="js/jquery.ptTimeSelect.css" type="text/css" media="all" />

<script type="text/javascript" src="js/jqtransformplugin/jquery.jqtransform.js"></script>
<link rel="stylesheet" href="js/jqtransformplugin/jqtransform.css" type="text/css" media="all" />

<script type="text/javascript" src="js/jquery.ui.datepicker.js"></script>
  • Wenn Sie die Fehlermeldung erhalten, in der jquery.js Datei, von 99,9999% der Zeit, es ist ein problem mit Ihrer - code. Blick in Sie.
  • Können Sie bieten, wie Sie verweisen jQuery.js in Ihren HTML-markup?
  • Auch, erhalten Sie den Fehler beim laden der Seite??...oder in der callback-Funktion? Ist Ihre Rückruf-eigentlich immer genannt?
  • Ich würde empfehlen, einen Haltepunkt auf die erste Zeile in der setPosition callback-und single-stepping durch. Sehen Sie sich die resultierenden data und stellen Sie sicher, dass es Sinn macht. Finden Sie heraus, welche Zeile der code ist eigentlich nicht (die jQuery-Linie haben Sie zitiert nur den Aufruf Ihrer callback; viel wahrscheinlicher ist, dass der Fehler in der callback).
  • Ich fügte hinzu, ein paar mehr Infos.
InformationsquelleAutor svenkapudija | 2011-02-22
Schreibe einen Kommentar