2010-04-21 4 views
1

Я построил главное меню на основе суперфиша, но количество отображаемых элементов в меню огромно. И в верхнем меню есть много jquery. Теперь перед проблемой, каждый раз, когда я загружаю любую страницу с меню, браузер (ie7) чувствует, что он смотрит, как он блокирует его самостоятельно примерно на 1-2 секунды, пока страница загружается. Я уверен, что главное меню - проблема, и я хотел бы улучшить производительность страницы (кроме удаления меню и удаления элементов меню) Я использовал firebug, чтобы узнать, какие вызовы занимают большую часть времени , и я вызовы являются стандартными jquery или superfish. Верхнее меню - это элемент управления ascx. Являются ли они хорошими способами позволить загрузке страницы сначала, а меню позже или любые другие идеи товаров для повышения производительности?Javascript performance issue

+0

Не должно быть причин, по которым инициализация страницы занимает 1-2 секунды. Должны быть некоторые неэффективности всего кода. @ Идея Роберта Харви хорошая. –

+0

Возможно, слишком много js-кода работает на много и много элементов dom. Я попытался «кэшировать» элементы dom, выполняя определенные jquery. Но этого было недостаточно, чтобы улучшить производительность сейчас. – Daniel

ответ

1

Вы пытались переместить весь свой код сценария (Javascript, jQuery) в нижней части страницы, непосредственно перед тегом </html>?

+0

Я переместил все js, связанные с верхним меню до, и он, похоже, ничего не помог, он должен находиться между концом и концом html-тег? – Daniel

+0

Перед тегом '' отлично, но вам нужно переместить * все *, а не только материал, связанный с меню. Идея состоит в том, чтобы сделать веб-страницу (хотя бы частично) визуализацией до выполнения Javascript/jQuery. –

0

Вы когда-нибудь рассматривали возможность загрузки меню только один раз? Недавно у нас была такая же проблема, когда меню перезагружалось каждый раз при обновлении страницы.

Что мы сделали, мы минимизировали обновление страницы и заставляли большую часть наших страниц отправлять/извлекать данные через $.ajax.

Мы только обновляем страницу, когда есть абсолютно необходимо.

+0

Как сейчас, понадобилось много времени, чтобы развернуть верхнее меню для загрузки только один раз:/Но хорошая идея в следующий раз, хотя – Daniel