2012-03-26 1 views
2

Я тестирую сайт, который отлично работает на Firefox (Win/Mac), Chrome (Win/Mac) и Safari. К сожалению, у меня проблемы с Internet Explorer. Я получаю следующее сообщение об ошибке:IE не загружается страница с Javascript и Raphael

SCRIPT65535: Unexpected call to method or property access. 
raphael-min.js, line 8 character 64961 

Я принял взглянуть на отладочный вывод, который выглядит как просто берет меня на части Raphel библиотеки:

c=a.getScreenCTM()||a.createSVGMatrix() 

Я искали это сообщение об ошибке в сети, но я не понимаю, какое решение имеет отношение к этому делу, поскольку я не знаю, что вызывает проблему. Я также использую библиотеку jQuery. Существуют ли какие-либо тесты, которые я могу сделать, которые могут дать мне больше информации об источнике проблемы?

+0

Любой шанс вы можете опубликовать ссылку или создать скрипку, которая воспроизводит проблему? Кроме того, какую версию IE вы тестируете? – peteorpeter

+0

Попробуйте использовать неориентированную библиотеку Рафаэля; было бы легче получить представление об этом контексте. – Steve

+0

Какая версия интернет-исследователя? – Andrew

ответ

3

Я выяснил, что это проблема с сжатием (файла js). У меня была такая же проблема, и я искал решение. Угадай, что? Я попробовал это с несжатым файлом Рафаэля и вуаля! Больше проблем. Кажется, сжатый файл нуждается в настройке.

+0

Спасибо за отзыв: в моем случае, с помощью несжатой версии решена проблема, ведь на IE9. –

+0

Рад узнать проблему (и решение). Я надеюсь, что более новая сжатая версия с исправленной проблемой будет загружена в ближайшее время. – inhan

5

Я только что нашел, как исправить это, чтобы сохранить сжатую версию Рафаэля.

Заменить (не забудьте ком):

c=a.getScreenCTM()||a.createSVGMatrix(), 

тем, что (dont't забыть конечное пространство):

c;try{c=a.getScreenCTM()||a.createSVGMatrix()}catch(e){c=a.createSVGMatrix()};var 

отлично работают! :)


Средства:

  1. c;: Объявление переменной с, и остановить первую команду.
  2. try{c=a.getScreenCTM()||a.createSVGMatrix()}catch(e){c=a.createSVGMatrix()};: наша инструкция, в окружении TRY/улова, чтобы избежать ошибки IE
  3. var + пробел: (не забудьте пространство!) Позволит нам продолжать объявлять переменную
Смежные вопросы