Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 13.12.2009, 20:50
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

tenshi,
давай представим (точнее ты представишь, а я вспомню).
Есть чужой сайт, на котором должен работать твой скрипт. Разработчик сайта определил глобальную функцию addEventListener, которая не добавляет обработчики событий к объекту window по той простой причине, что она сама перекрыла оригинальный метод. Ты работаешь с jQuery. Твоя задача повесить набор обработчиков событий на window.
Ответить с цитированием
  #32 (permalink)  
Старый 29.01.2010, 15:51
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

M.removeClass = function(el, cl) {
        el = $(el);
        var className = el.className.replace(new RegExp('\\b' + cl + '\\b', 'g'), ' ');
        if (className != el.className) {
            el.className = className;
        }
};


alert('prefix-name other'.replace(/\bname\b/g, ' '));





function random(start, end) {
    if (arguments.length == 1) {
        end = start;
        start = 0;
    }
    return Math.random() * (end - start) + start;
}


Шанс start стремится к нулю, но не равен ему, шанс end == 0. Несимметрично.
Ответить с цитированием
  #33 (permalink)  
Старый 29.01.2010, 15:56
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Riim
M.removeClass
Да, я знаю, в todo висит ))

Сообщение от Riim
random
Тут я Math.round забыл, недавно исправил, не push'ил ещё.

Спасибо за репорт ))
Ответить с цитированием
  #34 (permalink)  
Старый 29.01.2010, 16:04
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

вот только не надо выдумывать себе проблем ;-) а коли уж замучала параноя, то исполняй свои скрипты в отдельной песочнице
__________________
.ня
Ответить с цитированием
  #35 (permalink)  
Старый 29.01.2010, 16:07
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

tenshi,
это о чём? И что за паранойя?
Ответить с цитированием
  #36 (permalink)  
Старый 29.01.2010, 18:45
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от Kolyaj
Разработчик сайта определил глобальную функцию addEventListener, которая не добавляет обработчики событий к объекту window по той простой причине, что она сама перекрыла оригинальный метод.
Тут разработчик, как бы это сказать по мягче, и как выражаются, быдлокодер, сам и виноват, а не библиотека.
Ответить с цитированием
  #37 (permalink)  
Старый 29.01.2010, 20:42
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

PeaceCoder,
ты вырвал фразу из контекста.
Сообщение от Kolyaj
Есть чужой сайт, на котором должен работать твой скрипт.
Тот пост относился не к данной библиотечке, а к вопросу, всегда ли уместно использовать сторонние фреймворки.
Ответить с цитированием
  #38 (permalink)  
Старый 29.01.2010, 20:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Если сильно интересно, то вот тот сайт _http://www.kingsland.ru/

/**
 * Объявляем и сразу вызываем функции,
 * чтоб не проверять поддержку методов
 * каждый раз:
 */
var addEventListener = function() {
    // Если браузер IE:
    if (window.attachEvent)
        // Возвращаем функцию для IE:
        return function(element, event, callback) {
            // Фиксуем callback, чтоб установить правильный
            // this, и передавать объект события первым параметром:
            callback.__callbackfix = function() {
                callback.call(element, window.event);
            };
            // Устанавливаем обработчик (не забываем про "on")
            return element.attachEvent("on" + event, callback.__callbackfix);
        }
    // Если браузер W3C-совместим:
    if (window.addEventListener)
        // Возвращаем функцию без фиксов:
        return function(element, event, callback) {
            // Последний параметр всегда false, для совместимости с IE:
            return element.addEventListener(event, callback, false);
        }
}();
Ответить с цитированием
  #39 (permalink)  
Старый 30.01.2010, 01:34
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

ну и ? то что ты привел это неграмотная библитека сделанная как раз тем кем я назвал.
фреймворк НЕ должен влиять на параметры тех или инных стандартных методов и/или элементов. Если это происходит - такой ФВ может быть не совместим с другими. На этом основывается мой ФВ.
Ответить с цитированием
  #40 (permalink)  
Старый 30.01.2010, 09:25
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Пффф. PeaceCoder, причем тут должен, не должен, Вы еще маме того стороннего разработчика пойдите нажалуйтесь. Ну как ребенок, честно. Вопрос стоит так -- как на уже готовый сайт добавить новый функционал, не переделывая старый под угрозой получения в глаз. И вот тут мы можем ВНЕЗАПНО увидеть подобное тому, что написал Kolyaj.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск