Este es mi primer post por aquí, aunque he de navegar a través de ASÍ que un montón de respuestas. Estoy corriendo en un problema donde IE8 va a seguir tirando «se Esperaba un Objeto de error». He utilizado IE8 las herramientas de desarrollo, y que apunta a «mymh.js» archivo

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="/MyMHome/javascript/mymh.js"></script> 

mymh.js sólo el archivo tiene el siguiente código

    $(document).ready(function() {          
$('#hNumber').focus();
$('#ddlDir').change(function () {
var selVal = $('#ddlDir').val();
if (selVal == 'N' || selVal == 'S' || selVal == 'E' || selVal == 'W'){
$.getJSON('/MyMHome/DimeServlet?strDir='+$('#ddlDir option:selected').val(), function(data) {
$('#ddlSt')
.find('option')
.remove()
.end()
$.each(data, function(i,field){
var name = field;
$('#ddlSt')
.append('<option value= ' + '"' + name + '"' + '>' + name + '</option>');   
});
});
$('#ddlSt').focus();    
}else{ 
$('#ddlSt')
.find('option')
.remove()
.end()
.append('<OPTION selected value="">Choose a direction first</OPTION>');
}                   
})
.trigger('change');             
$('#reset').click(function(){
$('#ddlSt')
.find('option')
.remove()
.end()
.append('<OPTION selected value="">Choose a direction first</OPTION>'); 
$('#hNumber').focus();                
});
$('#hNumber').bind('keyup', function() {
if($('#hNumber').val().length == 5){
$('#ddlDir').focus();
}
});             
$('#submitQuery').click(function(){
var houseNumber = $('#hNumber').val();
if(houseNumber.replace(/\s+/g, '').length == 0){
alert('Please enter a house number.');
$('#hNumber').focus();  
return false;
}else if( (!$.isNumeric(houseNumber)) || houseNumber.indexOf('-') > -1 || houseNumber.indexOf('.') > -1){
alert('Please enter numbers only. You will be prompted later, if the address requires a suffix.');
$('#hNumber').focus();  
return false;
}else if(houseNumber < 100 || houseNumber > 12999){
alert('Please enter a house number between 100 and 12999');
$('#hNumber').focus();
return false;
}else if($('#ddlDir option:selected').val() == 'none'){
alert('Please select a street direction.');
$('#ddlDir').focus();
return false;
}       
});         
$('form').keypress(function(e) {
if (e.keyCode == '13') {
e.preventDefault();
if($('#ddlSt').is(":focus")){
$('#submitQuery').trigger('click');
}
else{
return false;
}
}
});
});

El error apunta a la <script ... mymh.js></script> pero en el depurador señala $document.ready(function() {

Que nadie vea nada malo de por qué IE8 iba a seguir tirando ese error?

  • No eres la carga de cualquier otra librerías JS (como prototipo), ¿verdad? También, usted debe tratar de usar el «Iniciar Depuración» en F12; la página se recarga y el JS depurador se detendrá en la línea que produce la excepción, podría hacer más fácil para encontrar el problema.
  • La única JS biblioteca estoy de carga es la biblioteca JQuery. Y el único archivo JS externo me voy a importar es el mymh.js archivo. Voy a probar el depurador para ver qué sucede
  • Se esperaba un objeto de la línea 1 mymh.js. que es de $(document).ready(function() {
  • si usted pone una alerta antes de documento.listo como esta alerta ($), ¿vuelve [Object Object] o indefinido?
  • Trate de $(document.documentElement).ready(function(){
  • Han tratado de sustituir esa primera $ con jQuery? es decir, jQuery(document).ready(function($) { /* code */ });

InformationsquelleAutor | 2012-05-09

5 Comentarios

  1. 7

    Trate de colocar un punto y coma al final de la línea 16

    de

    $('#ddlSt')
    .find('option')
    .remove()
    .end()
    $.each(data, function(i,field){

    a

    $('#ddlSt')
    .find('option')
    .remove()
    .end();
    $.each(data, function(i,field){
    • OMG. ¿Cómo echo de menos que. Que fijo que es para mí. Grr IE8 es un dolor de cabeza. Trabajó para todos los otros navegadores
  2. 4
    $(document).ready(function() { });  

    Esta declaración puede lanzar Objeto de error Esperado debido a los siguientes motivos:

    Primer lugar, Si nuestro enlace a archivo javascript externo (por ejemplo. jquery-1.8.2.min.js) no es correcta. Asegúrese de que el enlace está en el camino correcto. He mantenido mi archivo dentro de carpeta «js» y se dio a la ruta de acceso como:

    <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>  

    Segundo, Si escribimos la etiqueta de secuencia de comandos como:

    <script type="application/javascript"></script>  

    lugar de

    <script type="text/javascript"></script> 
  3. 4

    He tenido este problema al usar jQuery 2.0.0 en IE8. Según el sitio de jQuery «jQuery 2.x no es compatible con Internet Explorer 6, 7 u 8». La sustitución de jQuery 2.0.0 con jQuery 1.10.2 solucionado este problema para mí.

  4. 3

    Poco de un viejo post, pero es tal vez viene muy bien para la gente que pasa, yo tenía el mismo problema, he quitado la aplazar el atributo de la etiqueta de script.

    <script type="text/javascript" defer="defer" src="js/libs/jquery-1.8.3.min.js"></script>

    en:

    <script type="text/javascript" src="js/libs/jquery-1.8.3.min.js"></script>

    Que trabajó para mí.

  5. 3

    Esto puede no ser relevante, pero me acaba de resolver el mismo tipo de problema con IE8 – código que corrió bien en IE9 y todo lo demás se ahogaron en IE8.

    La respuesta fue tan simple como cambiar

     <script type="text/javascript" src="/myjavascript.js"></script> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>

    a

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="/myjavascript.js"></script> 

    … en otras palabras, JQuery primera. Esto se ha solucionado el problema para mí; YMMV.

Dejar respuesta

Please enter your comment!
Please enter your name here