Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с отображением в IE8
 
 автор: krekerok   (13.04.2012 в 17:40)   письмо автору
 
 

Привет всем! Хотел у Вас спросить такой вопрос. Проблема заключается в следующем - при загрузке сайта в ИЕ8 не отображается контент, центральная колонка сайта (сайт галерея). В отладчике ИЕ он останавливает скрипт на строке

F.each(K,[M.responseText,L,M]) - Системная ошибка: -1072896658. eval code, строка 1 символ 40886

На локальном хосте всё работает нормально, а на хостинге не зрузится. В остальных браузерах всё работает нормально. На локальном и нормальном хостинге одинаковые скрипты. Тех поддержка хостинга помочь не может. Помогите разобраться с данной ситуацией.

  Ответить  
 
 автор: ЯСА   (13.04.2012 в 18:44)   письмо автору
 
   для: krekerok   (13.04.2012 в 17:40)
 

Ссылку на страницу дайте.

  Ответить  
 
 автор: krekerok   (13.04.2012 в 18:49)   письмо автору
 
   для: ЯСА   (13.04.2012 в 18:44)
 

brightwallpapers[точка]com

  Ответить  
 
 автор: ЯСА   (13.04.2012 в 19:45)   письмо автору
 
   для: 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

  Ответить  
 
 автор: krekerok   (13.04.2012 в 21:04)   письмо автору
 
   для: ЯСА   (13.04.2012 в 19:45)
 

Вся проблема в том что все эти файлы и движок цвелом на локальном хостинге работают во всех браузерах. А на хостинге в ИЕ возникает данная ошибка

  Ответить  
 
 автор: krekerok   (13.04.2012 в 21:05)   письмо автору
 
   для: krekerok   (13.04.2012 в 21:04)
 

Попробовал удалить eval ничего не изменилось (кэш в движке чистил)

  Ответить  
 
 автор: ЯСА   (14.04.2012 в 04:57)   письмо автору
 
   для: krekerok   (13.04.2012 в 21:05)
 

1. Проблема не в eval ().
Вы изучили ссылку, которую я дал?

2. По поводу eval ().
Этот метод имеет право на использование только в одном единственном случае, когда необходимо неизвестную заранее строку превратить в JS-код.
Например, пользователь пишет в поле ввода текст alert ('Hi!'), вы скриптом "достаёте" из поля ввода эту строку символов и с помощью метода eval () преобразуете её в исполняемый код.
В любых иных случаях использование метода eval () - это дилетанство, граничащее с безумием.

  Ответить  
 
 автор: krekerok   (14.04.2012 в 10:52)   письмо автору
 
   для: ЯСА   (14.04.2012 в 04:57)
 

Извените! Я просто не заметил этой ссылки, там действительно описывается такае же проблема как и у меня. Я так понял что это проблема с кодировками. В настройках серверной среды (php.ini) который доступен мне в админ панели можно установить UTF-8. У меня стояла CP1251 в поле mbstring.internal_encoding. Сейчас попробую.

  Ответить  
 
 автор: krekerok   (14.04.2012 в 12:16)   письмо автору
 
   для: krekerok   (14.04.2012 в 10:52)
 

Не получилось! А без eval оно и в Мозиле и Опере перестало грузится

  Ответить  
 
 автор: krekerok   (14.04.2012 в 12:40)   письмо автору
 
   для: krekerok   (14.04.2012 в 12:16)
 

Попробовал насильно установить кодировку для скриптов charset="UTF-8" тоже не помогло

  Ответить  
 
 автор: ЯСА   (14.04.2012 в 12:57)   письмо автору
 
   для: krekerok   (14.04.2012 в 10:52)
 

Когда-то давно здесь обсуждалась аналогичная проблема.

Выяснилось, что написанные кодировке Windows-1251 файлы после сохранения их в кодировке UTF-8 получают какой-то нечитаемый символ впереди текста, что ведёт к сбою.

Решение, насколько помню, было найдено следующее: ВСЕ файлы по очереди открывали в редакторе с кодировкой Windows-1251 - в нём этот нечитаемый символ виден; этот символ удаляли, и затем по схеме: "выделить всё --> копировать --> вставка в редактор, изначально настроенный на UTF-8 --> сохранение файла под тем же именем".

  Ответить  
 
 автор: krekerok   (14.04.2012 в 13:07)   письмо автору
 
   для: ЯСА   (14.04.2012 в 12:57)
 

Это файлы скриптов (*.js)?

  Ответить  
 
 автор: krekerok   (14.04.2012 в 13:51)   письмо автору
 
   для: krekerok   (14.04.2012 в 13:07)
 

Но здесь точно какая то ошибка с кодировками

  Ответить  
 
 автор: krekerok   (14.04.2012 в 13:53)   письмо автору
 
   для: krekerok   (14.04.2012 в 13:51)
 

На локальном всё работает, а на хостинге нет. У них кстати нету в списке кодировок для сайта - windows-1251, а есть cp1251. А ИЕ не знает что это одно и то же и воспринимает только windows-1251. Я попросил чтобы добавили именно windows-1251

  Ответить  
 
 автор: ЯСА   (14.04.2012 в 13:57)   письмо автору
 
   для: 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/

  Ответить  
 
 автор: krekerok   (14.04.2012 в 14:14)   письмо автору
 
   для: ЯСА   (14.04.2012 в 13:57)
 

Всё сделал! Работает! Проблема была на сервере! Всему сайту насильно привязывалась кодировка CP1251, а ИЕ о ней не знает поэтому и не отображал контент. После изменения на windows-1251 всё заработало! Спасибо за помощь я узнал много нового

  Ответить  
 
 автор: krekerok   (14.04.2012 в 21:26)   письмо автору
 
   для: krekerok   (14.04.2012 в 14:14)
 

Спасибо за статью которую Вы посоветовали.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования