|
|
|
| Привет всем! Хотел у Вас спросить такой вопрос. Проблема заключается в следующем - при загрузке сайта в ИЕ8 не отображается контент, центральная колонка сайта (сайт галерея). В отладчике ИЕ он останавливает скрипт на строке
F.each(K,[M.responseText,L,M]) - Системная ошибка: -1072896658. eval code, строка 1 символ 40886
На локальном хосте всё работает нормально, а на хостинге не зрузится. В остальных браузерах всё работает нормально. На локальном и нормальном хостинге одинаковые скрипты. Тех поддержка хостинга помочь не может. Помогите разобраться с данной ситуацией. | |
|
|
|
|
|
|
|
для: krekerok
(13.04.2012 в 17:40)
| | Ссылку на страницу дайте. | |
|
|
|
|
|
|
|
для: ЯСА
(13.04.2012 в 18:44)
| | brightwallpapers[точка]com | |
|
|
|
|
|
|
|
для: krekerok
(13.04.2012 в 18:49)
| | Уберите eval (то_что_написано) и оставьте только то_что_написано в самом первом подключаемом вами скриптовом файле http://brightwallpapers.com/index.php?/media/loadJs
-----
1. В версии JScript Майкрософта внутри скобок в методе eval () должны быть данные типа String.
Т.е. либо набор символов, заключённый в кавычки, либо переменные, которые представляют из себя строки.
Т.е. в MSIE строка eval ("alert ('Hi!')"); или строка var txt = "alert ('Hi!')"; eval (txt); будут работать, а вот строка eval (alert ('Hi!')); даст синтаксическую ошибку.
2. Кроме того, метод eval () очень тормозной и немного "баговый".
А именно - парсер получает команду о выполнении работы метода eval () ещё ДО ТОГО, как реальное преобразование строки в исполняемый код фактически завершено.
Соответственно, если следующий оператор СРАЗУ ЖЕ запросит тот код, который якобы уже сформирован в методе eval (), то может возникнуть системная ошибка.
3. Ну и, наконец, вообще никакой необходимости в использовании здесь метода eval () я не вижу.
Зачем писать eval ("alert ('Hi!')");, если можно написать просто alert ('Hi!');?
4. Кроме того, нет ли в скрипте, который вы подключаете первым, использования плагина JQuery, который вы подключаете вторым?
Я в этом деле не особо разбираюсь, однако по логике СНАЧАЛА надо подключить плагин, а только ПОТОМ использовать его переменные в коде скрипта.
Поменяйте местами первый и второй вызовы внешних скриптов.
UPDATE: прочтите http://keelypavan.blogspot.com/2006/07/system-error-1072896658-in-ie.html | |
|
|
|
|
|
|
|
для: ЯСА
(13.04.2012 в 19:45)
| | Вся проблема в том что все эти файлы и движок цвелом на локальном хостинге работают во всех браузерах. А на хостинге в ИЕ возникает данная ошибка | |
|
|
|
|
|
|
|
для: krekerok
(13.04.2012 в 21:04)
| | Попробовал удалить eval ничего не изменилось (кэш в движке чистил) | |
|
|
|
|
|
|
|
для: krekerok
(13.04.2012 в 21:05)
| | 1. Проблема не в eval ().
Вы изучили ссылку, которую я дал?
2. По поводу eval ().
Этот метод имеет право на использование только в одном единственном случае, когда необходимо неизвестную заранее строку превратить в JS-код.
Например, пользователь пишет в поле ввода текст alert ('Hi!'), вы скриптом "достаёте" из поля ввода эту строку символов и с помощью метода eval () преобразуете её в исполняемый код.
В любых иных случаях использование метода eval () - это дилетанство, граничащее с безумием. | |
|
|
|
|
|
|
|
для: ЯСА
(14.04.2012 в 04:57)
| | Извените! Я просто не заметил этой ссылки, там действительно описывается такае же проблема как и у меня. Я так понял что это проблема с кодировками. В настройках серверной среды (php.ini) который доступен мне в админ панели можно установить UTF-8. У меня стояла CP1251 в поле mbstring.internal_encoding. Сейчас попробую. | |
|
|
|
|
|
|
|
для: krekerok
(14.04.2012 в 10:52)
| | Не получилось! А без eval оно и в Мозиле и Опере перестало грузится | |
|
|
|
|
|
|
|
для: krekerok
(14.04.2012 в 12:16)
| | Попробовал насильно установить кодировку для скриптов charset="UTF-8" тоже не помогло | |
|
|
|
|
|
|
|
для: krekerok
(14.04.2012 в 10:52)
| | Когда-то давно здесь обсуждалась аналогичная проблема.
Выяснилось, что написанные кодировке Windows-1251 файлы после сохранения их в кодировке UTF-8 получают какой-то нечитаемый символ впереди текста, что ведёт к сбою.
Решение, насколько помню, было найдено следующее: ВСЕ файлы по очереди открывали в редакторе с кодировкой Windows-1251 - в нём этот нечитаемый символ виден; этот символ удаляли, и затем по схеме: "выделить всё --> копировать --> вставка в редактор, изначально настроенный на UTF-8 --> сохранение файла под тем же именем". | |
|
|
|
|
|
|
|
для: ЯСА
(14.04.2012 в 12:57)
| | Это файлы скриптов (*.js)? | |
|
|
|
|
|
|
|
для: krekerok
(14.04.2012 в 13:07)
| | Но здесь точно какая то ошибка с кодировками | |
|
|
|
|
|
|
|
для: krekerok
(14.04.2012 в 13:51)
| | На локальном всё работает, а на хостинге нет. У них кстати нету в списке кодировок для сайта - windows-1251, а есть cp1251. А ИЕ не знает что это одно и то же и воспринимает только windows-1251. Я попросил чтобы добавили именно windows-1251 | |
|
|
|
|
|
|
|
для: krekerok
(14.04.2012 в 13:07)
| | Нет, это файлы с расширением *.php, которые отдают информацию странице.
Сам HTML-файл, внешние JS- и CSS-файлы могут быть в любой кодировке.
Но вот те файлы, к которым обращаются скрипты со страницы, должны быть написаны в редакторах, изначально настроенных под UTF-8 и, кроме того, все эти файлы перед отправкой данных на страницу, должны сначала передать заголовок.
Т.е., первой должна идти строка header ("Content-type: text/plain; charset=utf-8");, а уже потом всякие print или echo с выводом результата.
Изучите ещё http://habrahabr.ru/post/17640/ | |
|
|
|
|
|
|
|
для: ЯСА
(14.04.2012 в 13:57)
| | Всё сделал! Работает! Проблема была на сервере! Всему сайту насильно привязывалась кодировка CP1251, а ИЕ о ней не знает поэтому и не отображал контент. После изменения на windows-1251 всё заработало! Спасибо за помощь я узнал много нового | |
|
|
|
|
|
|
|
для: krekerok
(14.04.2012 в 14:14)
| | Спасибо за статью которую Вы посоветовали. | |
|
|
|