Форум
Уеб дизайн

Как лесно увеличих с 30% посещенията към сайта

Здравейте, от статиите, които четем знаем че потребителите са
оборудвани с последни версии браузъри и използват все повече Firefox, Opera и Chrome.
На практика се оказва че това не е така.

Описание на проблема:

Реших да тествам визията на сайта през различни браузъри. Отворих
browsershots.org и заредих сайта. Навсякъде с изключение на Internet
Explorer 5.5 и 6 се виждаше коректно. При предходните просто излизаше JavaScript грешка и не се появяваше никакво съдържание. Оказа
се че Internet Explore 5.5 и 6 имат проблем с показването на
страницата в случай че се променя динамично структурата на DOM чрез
Javascript/AJAX методи разположени в под-елемент на тага body. Именно тогава Internet Explorer < 7 дава грешка The Page cannot be Displayed или Internet Explorer cannot open the Internet site http://... Operation aborted

Ето и становището на Microsoft по въпроса: http://support.microsoft.com/kb/927917

Статистика:


След като погледнах доста статистики разбрах че от около 70% ползващи
Internet Explorer над 35% ползват IE6. За да не ощетявам тези
потребители въведох следните решения, след което тествах отново с
browsershots.org:

Решения:(изберете това, което работи при вас)

-
да преместите срипта към края на body тага или в head частта.

- да извикате JavaScript-а си от функция, която се вика от window.onload

- да не задействате JavaScript ако версията на Internet Explorer < 7

- да добавите атрибута defer="defer" след скрипта.

Резултат: Статистиката показа над 30% увеличение на трафика на сайта. Успех!


P.S. Понякога се случва един JavaScript код да върви перфектно под Firefox, а под Internet Explorer да дава грешки. Ето някой често срещани грешки и как да ги фиксирате:

Expected identifier, string or number
масив: var img= {width:100, height:100,}
под Firefox - няма грешки, IE - грешка.

Решение(без запетайка в края. Запетайката кара интерпретатора да очаква следващ елемент.):
var img= {width:100, height:100}

object Expected при работа с previousSibling и nextSibling
var prev=el.nextSibling;
отново Firefox не показва грешки, а Internet Explorer дава грешка

Решение: винаги проверявайте дали съществува даден елемент:
if (el.nextSibling) {
//работа с елемента
var prev=el.nextSibling;
}
...
Първоначална проверка на елемент:
var el = document.getElementById("el_id");
if(el) {
//работа с елемента
}

Много добра онлайн проверка на JavaScript код в това отношение прави безплатният JSLint.









Създай своя тема от тук Прочети по-късно Още статии за Уеб дизайн