Подтвердить что ты не робот

Почему мои файлы javascript не загружаются "последовательно" в IE7?

В том, что кажется случайным вхождением, файлы javascript не загружаются.

Я считаю, что этот диагноз верен, потому что у меня есть код для проверки, б) я прошел через код и c) я получаю ошибку "myfunction" undefined ", когда используются функции в этих файлах.

Иногда это не происходит в течение часа, иногда это происходит каждый раз, когда я загружаю страницу, иногда это происходит каждый раз, когда я загружаю страницу. Кажется, каждый раз, когда я идентифицирую последовательное поведение, поэтому я могу повторить его и диагностировать, он меняется!

Кто-нибудь знает, что может быть причиной этого?

Я использую:

  • IE версия 7.0.5730.11 (имеет & удаленная бета-версия IE8)
  • VS2008

Прямо сейчас, похоже, это происходит только с моим коллегой и мной в наших средах разработки.

Существует один script, который, как представляется, отсутствует больше, чем любой другой. Здесь тег script.

<script language="javascript" 
        type="text/javascript" 
        src="js/Ajax.Utility.js?<%= ConfigurationManager.AppSettings["WebApp.JavaScript.FileVersion"].ToString() %>"></script>

Что оценивается

<script language="javascript" 
        type="text/javascript" 
        src="js/Ajax.Utility.js?090324a"></script>

Параметр строки запроса версии не имеет никакого эффекта ни с тех пор, как я был, и не имел проблемы сразу после его изменения.

4b9b3361

Ответ 1

Просто FYI для тех, кто имеет ту же проблему.

Это никогда не было разрешено, но теперь я полагаю, что это как-то связано с Visual Studio Development Server, и я сомневаюсь, если бы это произошло, если бы я использовал IIS. К сожалению, я больше не работаю над этим проектом, поэтому я не могу его протестировать.

Ответ 2

У меня была эта проблема дважды. Это всегда синтаксическая ошибка в коде Javascript. Скорее всего, дополнительный кронштейн или отсутствует. Все остальные браузеры пропустили это, но IE7 не было.

Испытание и ошибка (удаление кусков и фрагментов кода) привели меня к поиску решения.

Надеюсь, это поможет: -)

Ответ 3

На всякий случай полученные ответы не сработали -

IE7 по умолчанию не загружает Javascript из локальных файлов. Обычно вы снижаете панель информации и указываете это. Вы должны нажать на панель и выбрать "Разрешить заблокированное содержимое", а затем IE7 перезагрузит страницу с включенным Javascript.

Такое поведение является последовательным. Однако, если некоторые системы отключили отображение информационной панели, теперь вы можете узнать, в чем проблема.

Мое предложение состоит в том, чтобы добавить <noscript> вверху вашей HTML-страницы и стилизовать его с жирным красным фоном с помощью CSS, чтобы вы не могли его пропустить. StackOverflow использует эту технику.

Таким образом, вы обязательно узнаете, не загружается ли Javascript из-за соображений безопасности.

Ответ 4

У меня была такая же точная проблема, как и у оригинального плаката, и я попробовал многие из решений, предоставленных безрезультатно.

Я, наконец, исправил его, обновив дату и время на машине, на которой запущен сервер Apache. Это было отключено на пару дней (результат прерывания работы в виртуальной машине)

Надеюсь, это поможет кому-то.

Ответ 5

Вместо src="js/AjaxTry.Utility.js" попробуйте это:

src="<% ResolveUrl("~/path/from/root/to/js/Ajax.Utility.js") %>

Ответ 6

Другая мысль: вы очищаете кеш браузера между тестами? Браузер полностью свободен от кеширования сценариев по своему усмотрению, если этого не предотвращать - обычно вы заметили только редактирование скриптов и таблиц стилей и изображений

Ответ 7

Вы проверили с помощью инструмента, такого как Fiddler, что вызов этого .js файла делается либо на сервер, либо на браузера, и что браузер фактически получает файл правильно, а не получает 404 или некоторые такие?

Вы должны проверить это на странице, которая на самом деле вызывает данный метод - поскольку ваш путь является относительным URL (т.е. не начинается с "/" ), существует ли какая-либо возможность, чтобы страница, с которой вы вызываете ее не находится под папкой js, но, возможно, рядом с ней?

Представьте структуру сайта, как это, из корня сайта:

/page1.aspx
/folder/page2.aspx
/js/Ajax.Utility.js

Если на странице 1 и на странице 2 есть ваш вызов в .js файле, только страница 1 действительно сможет правильно его восстановить - стр. 2 будет эффективно искать:

/folder/js/Ajax.Utility.js

Ответ 8

У меня была такая же проблема с IE7, проблема заключалась в том, что я использовал "супер" как свойство, которое является зарезервированным ключевым словом, и IE7 молча загрузил страницу.

Ответ 9

Большинство браузеров кажутся толерантными к дополнительным запятым, например, в определении списка свойств объекта:

var obj = {prop1: 'value',
           prop2: 'value',};

Internet Explorer не терпит запятой. Всякий раз, когда у меня была эта проблема, она ВСЕГДА оказывалась из-за дополнительной запятой. Более того, отладчик IE не помечает проблему с исходным кодом, он просто выводит пропущенные определения из файла, который не был загружен должным образом.