Метка: javascript

sort() в JavaScript для чисел

sort() в JavaScript конвертирует числа в строки перед сравнением. Вот почему [9, 10].sort() возвращает [10, 9]. Правильная сортировка только через лямбду: [10, 0].sort(function(a, b) { return a — b; });

showModalDialog’s returnValue is undefined in Chrome

С мест сообщают – в Chrome у show­Modal­Dia­log return­Val­ue – unde­fined. Баг известен с 2010 года и пока (16 сентября 2012) не исправлен. Фиксить так: В окне, которое вызывает модальное: window.returnValue = unde­fined; var result = window.showModalDialog(“modalwindow.aspx”, win­dow, “dialogHeight:650px; dialogWidth:900px;”); if (result == unde­fined) result = window.returnValue; if (result != null && result != “unde­fined”)…

Прочитать статью целиком

IE теряет фокус на ссылке

В IE обнаружен загадочный баг. Если ASP.Net страница: делает (например, по нажатию на страницу) redi­rect на другую через anchor (т.е. otherPage.aspx#anchor) в IIS настроен ISAPI_Rewrite (локально повторить не удалось) браузер – IE (повторяется в т.ч. в 9-ом) То может случиться так, что anchor “отбросится” и страниця загрузится как otherPage.aspx. Выловить и перенастроить практически невозможно. Единственный…

Прочитать статью целиком

Click() doesn’t work in Chrome and Safari

Иногда нужно сделать, чтобы файл загружался не через форму по умолчанию (которая отличается у разных браузеров), а по нажатию на кнопку. Форму прячут, вместо неё ставят кнопку и вызывают по щелчку для неё click() для спрятанной формы. Как правило, это работает. Но в браузерах на движке WebKit (например, Chrome и Safari) может и не сработать.…

Прочитать статью целиком

Script: Play mp3 at background with JavaScript

Как сделать фоновую мелодию для веб-страницы из mp3-файла? Для начала — убедиться, что она нужна. Я, например, считаю, что единственное место во всём Вебе, где уместны фоновые мелодии — это игры. Пожалуйста, ставьте такие скрипты только в них. Так как стандарт очень долго хранил молчание насчёт фоновых мелодий, каждый браузер реализовывал его по-своему Путаница тут…

Прочитать статью целиком

JavaScript: Случайные элементы массива

Родилось из C#-овой, но на JavaScript наглядней. Нужно выбрать из массива N случайных элементов. Как это сделать быстро? Если длина массива <= N — это очевидно. А если нет? Сначала склонируем массив: Object.prototype.clone = func­tion() { var newObj = (this instance­of Array) ? [] : {}; for (i in this) { if (i == ‘clone’)…

Прочитать статью целиком

JavaScript: Объекты и необъекты

Говорят, во всём семействе ECMAScript все переменные — псевдообъекты. Так вот, это неправда. В JavaScript, например, всего 6 типов объектов: null, unde­fined, num­ber, string, boolean и object а значит, записать в числовую переменную новое свойство — нельзя. Вызывая оператор “.” для num­ber, string, boolean мы просто создаём ещё один object, который получает новое свйоство, а…

Прочитать статью целиком