Сервер A: Windows Server 2008 R2, IIS 7, администратор - я
Сервер B: Windows Server 2008 R2, IIS 7, admin - группа администраторов сервера компании
У меня есть файл Javascript, который хорошо работает на моем локальном компьютере. Файл JS также работает на сервере B. При загрузке на сервер A страница возвращает ошибку «Неопределенная ошибка» со строкой перехода, которая не имеет большого значения ни в HTML, ни в JS. При замене файлом JQuery, который также работает локально и также работает на сервере B, я снова получаю другую ошибку «Ожидается объект» с бессмысленным переходом к строке.
Некоторые части Javascript работают на том же сайте на сервере A, поэтому JS не отключен полностью.
Я знаю, что JS и JQuery считаются клиентскими языками, но в этом случае «Как только вы устраните невозможное, все, что останется, независимо от того, насколько маловероятно, должно стать правдой».
Знаете ли вы, сбойники сервера, конфигурации сервера, которые могут повлиять на производительность Javascript / JQuery?
Это, вероятно, означает, что сервер не возвращает правильные данные, когда .js
файл запрашивается.
Он называется клиентским языком, потому что он является клиентский язык; файлы javascript никаким образом не выполняются на сервере; они просто текстовые файлы с другим типом MIME, насколько это важно.
В инструментах разработки Firebug или Chrome очень внимательно посмотрите на ответы на запросы для .js
файлы по запросу с обоих серверов. Между ними что-то другое.
Эта проблема возникла в IIS-8, когда Chrome 63.0.3239.132 не смог загрузить jQuery для Таблицы данных. Файлы и код были скачано с сайта DataTables (Стиль DataTables с пакетами JQuery 3 и DataTables - без мин. Без объединения), затем выгружается в каталог, сопоставленный с сайтом IIS, чтобы создать статический сайт только с HTML и JS. JQuery работал при просмотре локально на сервере с помощью Internet Explorer. JQuery выдавал ошибки при просмотре на другом компьютере в сети с использованием полного адреса сервера из-за того, что сценарий jQuery не загружался браузером. IIS работает. Основные загрузки HTML. jQuery сломался.
Чтобы решить проблему, файлы были сохранены как UTF-8, открыв их на компьютере с Windows Server 2012 в блокноте, затем «Сохранить как» и выберите кодировку UTF-8. Укажите HTML как версию файлов UTF-8, и jQuery работает.
Выдвинутые ошибки включали:
Expected identifier
Expected identifier, string or number
'jQuery' is undefined
'$' is undefined
Аналогичная ошибка возникла, когда цель src сценария JavaScript не указывала на действительный файл JavaScript .js.
Я предполагаю, что конфигурация усиленной безопасности IE (IE ESC) включена на сервере A. Вы можете отключить ее на верхнем уровне MMC Server Manager.
И сервер не обычно нужно иметь возможность запускать javascript, чтобы просто обслуживать его клиентов.