2010-11-23 2 views
2

Извините мое невежество за то, что я новичок-программист и мои языковые ошибки, потому что я - неродной английский.Javascript работает отлично, но очень медленно в IE, почему?

У меня есть страница, которая при некоторых событиях нажатия запускает некоторые javascript и нагрузки, через php, содержимое в iframe, который также выполняет некоторые действия javascript (на себе и на родительской странице). Все отлично работает на FF, и все функции отлично работают в IE. Но производительность в IE ужасно медленная ... Одной из основных функций является изменение непрозрачности некоторых изображений на мыши, и для отображения новой непрозрачности требуется 2s + для IE. Зачем? и что более важно, что я могу сделать, чтобы исправить это?

Спасибо заранее, Irene

+0

Известный факт, что JavaScript Engine в IE не самый быстрый. Вы можете попробовать оптимизировать свой код. – 2010-11-23 13:52:17

+0

Какая версия IE? У вас есть образец страницы, которую мы могли бы проверить? – birryree 2010-11-23 13:52:25

+0

Это заставило меня рассмеяться вслух! Это хороший вопрос, Арха, просто очень смешно :) – 2010-11-23 13:55:01

ответ

4

IE имеет ужасно медленный движок JavaScript по сравнению с любым другим крупным браузером (я говорю с IE8 не IE9 +) ... Вот только как это. Вы можете отключить определенные вещи в IE и, конечно же, оптимизировать свой сценарий в целом.

Вы можете, например, хотите отключить замирание в IE, или дать ему гораздо меньшее число кадров (длинный интервал между ними шагов), из-за его DirectX непрозрачности фильтра, это гораздо медленнее, чем другие браузеры в наиболее замирания ситуаций ,

Для описания проблем производительности, характерных для IE, я настоятельно рекомендую dynaTrace AJAX edition, это бесплатный профайлер производительности, сделанный только для IE.

0

IE, как известно, немного медленный (сарказм). Я точно не знаю, что вы делаете, но, возможно, вам захочется удалить некоторые эффекты, если пользователь использует IE? Возможно, вы делаете много изменений DOM.

Было бы удобно увидеть код, чтобы дать вам советы о том, как получить лучшую производительность.

0

Хорошо, здесь вы идете, это, вероятно, сценарий, который создает большинство проблем ... любые предложения?

$(function() { 

$("#myTable").draggable({ 
    containment:'parent', 
    drag:function() { 
     $("#myTable").css("opacity", "0.6"); 
     $("#myTable").css("background-image", 'none'); 
     $("#galframe").css("opacity", "1.0"); 

    }, 
    stop:function(){ 
     $("#myTable").css("opacity", "1.0"); 
     $("#galframe").css("opacity", "0.6"); 
     var $image = $("#galframe").contents().find("#jgal div.active img"); 
       var src=$image[0].src; 
       $("#myTable").css("background-image", 'url(' + src + ')'); 
       $position = $("#myTable").position(); 
       $("#myTable").css("backgroundPosition", (-parseInt($position.left)+549).toString()+ "px " + (-parseInt($position.top)+20).toString() + "px"); 
       $("#myTable").css("background-repeat", "no-repeat"); 
      } 
}); 
}); 
Смежные вопросы