Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как правильно компоновать библиотеку?


Автор: solenko 23.1.2008, 02:38
Вот решил собрать небольшую библиотеку для работы с xml. Как выяснилось практически весь код разный для IE и остальных браузеров. Вот и возник вопрос как лучше писать:

Код

DOMXML.prototype.xpath = function() {
    if (ie) {
//код для IE
    }else{
//код для остальных
    }
}

или
Код

if (ie) {
    DOMXML.prototype.xpath = function() {
//код для IE
    }
}else{
    DOMXML.prototype.xpath = function() {
//код для остальных
    }
}


В первом случа получаем проверки при каждом вызове. Минусов сторого пока не вижу (действительно очень мало повторяющегося кода). 
Так все таки как лучше? Или в данном случае вообще лучше подгружать файл в зависимости от браузера?

Автор: Sardar 23.1.2008, 04:46
Второй способ лучше, т.к. исключает if, а функция штука легковесная.

Цитата(solenko @  23.1.2008,  01:38 Найти цитируемый пост)
Или в данном случае вообще лучше подгружать файл в зависимости от браузера? 

Определять браузер по userAgent'у или ещё как - резкое не уважение к пользователю smile  Нужно проверять по функционалу, т.е. тестировать необходимые функции, следовательно на сервере выделить "правильный" JS не получиться. На клиенте генерить <script> не очень красиво, не уверен что оно того стоит (скрипт ведь не сотни кб?)

Автор: egao 23.1.2008, 10:02
Код

DOMXML.prototype.xpath = select( browserType, {
    'ie': function(){ ... }
,
    'default': function(){ ... }
})

Автор: solenko 23.1.2008, 11:51
Sardar, как и подсказывала логика. Просто напугало, что нигде не видел такого описания.

egao, а что это за заверь такой, select? Или эта ваша обертка для switch?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)