2013-04-30 4 views
0

В настоящее время я столкнулся с странной проблемой с блоком javascript и Internet explorer 9. Когда я загружаю страницу, функция готовности документа не выполняется, на самом деле кажется, что javascript вообще не выполняется , Когда я перезагружаю страницу несколько раз, наконец, выполняется блок сценария. Я не смог найти какой-либо шаблон при выполнении сценария.Internet Explorer Javascript не исполняется

<script type="text/javascript"> 
      $(document).ready(function() { 
       console.log("ie test - start"); 
       $("#id_project").select2({ width: 'resolve' }); 
       $("#id_year").select2({ width: 'resolve' }); 
       $("#id_month").select2({ width: 'resolve' }); 
       $("#id_purchase_order_membership").select2({ width: 'resolve' }); 
       $("#id_action").select2({ width: 'resolve' }); 
       console.log("ie test - end"); 
      }); 

     $(document).ajaxStop(function() { 
       $("#id_project").select2({ width: 'resolve' }); 
       $("#id_year").select2({ width: 'resolve' }); 
       $("#id_month").select2({ width: 'resolve' }); 
       $("#id_purchase_order_membership").select2({ width: 'resolve' }); 
       $("#id_action").select2({ width: 'resolve' }); 
     }); 
    </script> 

Более странно, когда я запускаю инструменты разработчика IE, скрипт выполняется. Кажется, я запускаю что-то в IE с запуском инструментов разработчика, который позволяет IE помнить, что есть некоторые js для выполнения. Очень странно. Я попытаюсь развернуть примерный скрипт в следующие дни, так как я понимаю, что нелегко будет помочь в такой странной проблеме. В настоящее время тестовое развертывание выполняется на сайте только для входа. Во всяком случае, может быть, кто-то сталкивался с такой же вопрос ..

+3

Если я правильно помню, объект 'console' доступен только при открытии инструментов dev. Попробуйте удалить строку 'console.log'. – CBroe

+0

Спасибо, да, это была проблема. –

+0

Yup, console.log() взломан в IE (по моему опыту). Загрузка страницы с помощью console.log(), когда инструменты разработчика закрыты, завершится с ошибкой (по крайней мере, в IE8). Загрузка его с помощью инструментов dev открыта, работает отлично. Вероятно, есть некоторые случаи, которые я не знаю об этом, но для тестирования в IE избавимся от него. –

ответ

1

По моим сведениям

console.log(); 

не работает в IE. Удалите эти линии и попробуйте затем

+0

Работает **, но только **, когда инструменты разработчика открыты. – Andreas

+0

@Andreas в некоторых версиях IE объект 'console' доступен только в том случае, если инструменты dev открыты. Не оставляйте строки 'console.log' в вашем производственном коде. – nbrooks

+0

@nbrooks Me: _It работает, но только тогда, когда инструменты разработчика открыты. Вы: в некоторых версиях IE консольный объект доступен только в том случае, когда инструменты dev открыты. - Я запутался. ^^ – Andreas

0

Рекомендуется использовать код в try-catch блоках. Javascript просто падает с ошибкой и завершает все сценарии, которые появляются после этого.

Смежные вопросы