В этом треде адепты самого гибкого и удобного языка в мире обсуждают дальшнейшее развитие этого торжества научно-технической мысли. Скоро выйдет ES6, а значит недостатки JS будут окончательно искоренены. Ура!
Ньюфагам: 1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса.
2. Это чтобы менять цвета, и вызывать всякие всплывающие окна? - Это только малая часть того, что может язык. Сейчас, на JS можно делать игры (phaser, cocos, etc.), 3D графику (three.js), можно делать и приложения для телефонов(phonegap, ionic), можно делать десктоп приложения(node-webkit).
3. Ну ясно, а че еще можно? - А еще можно использовать на сервере, причем очень даже успешно. А все благодаря платформе node.js, и v8, который встроен во все хромоподобное.
4. Я щас ничего не понял, повтори. - Проще говоря, если ты не делаешь огромный интернет магазин, или хай лоад проект, то можешь смело использовать javascript и node.js.
5. А что еще прикольного можно сделать? - А еще есть MV фреймворки, angular, backbone, ember, knockout и другие, менее популярные.
6. Зачем оно надо? - Для создания SPA, в основном, но ты можешь копнуть глубже.
7. Очень уж много всяких фреймворков... Нельзя ли просто изучить jquery и писать все на нем? - Не стоит, можешь начать писать на жыквери, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и вбудущем не испытывать трудностей с изучением сложных фреймворков.
8. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Учим JS: Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Эдди Османи - "Разработка Backbone.js приложений"
Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском. http://speakingjs.com/
Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи phaser, pixi и другое, выбор не маленький. Хочешь на сервер сайд, на самой хипстерской технологии? Копай в сторону node, express, socket io. Хочешь писать MVC логику? Angular, backbone, да множество их. Нельзя забывать про NW.js, позволяющий создавать десктопные приложения.
Есть один jQueryUI, на нем сделал драг енд дроп интерфейс в двумя контейнерами. Один контейнер хранит в себе элементы, другой принимает. Элементы не перетаскиваются, а клонируются. Хочу что бы один из элементов так же выступал в роли контейнера и мог принимать в себя элементы, оставаясь при этом элементом, который можно перемещать.
Как сообщает The Register, исследователи из Колумбийского университета смогли восстановить информацию о нажатых клавишах и кликах мышью в веб-браузере по содержимому кэш-памяти центрального процессора компьютера. По их сведениям, эксплойт эффективен на компьютерах с новыми моделями процессоров производства Intel, такими как Core i7, в браузерах, поддерживающих HTML5, что составляет около 80% всех компьютеров. Йозеф Орен (Yossef Oren), Василеос Кемерлис (Vasileios Kemerlis), Симха Сетумадхаван (Simha Sethumadhavan) и Ангелос Керомитис (Angelos Keromytis) разработали метод атаки, выполняемой через JavaScript через вредоносную баннерную сеть. Суть метода заключается в измерении времени, требуемого для доступа к кэш-памяти последнего уровня (кэш L3 разделяется всеми ядрами процессора), и сравнении этого времени с действиями пользователя. Показать связанные сообщения Раскрыты подробности уязвимостей в WP-плагине CartPress 30 Апрель 2015 , 22:27 Пропатчена 0-day-уязвимость в WordPress 30 Апрель 2015 , 22:21 Раскрыты подробности 0-day-уязвимости в WordPress 28 Апрель 2015 , 23:56 Исследователи запросили Google, Microsoft, Mozilla и Apple об обновлении их браузеров, дабы перекрыть этот вектор атаки. Пока ни один из браузеров не получил обновления. В своем отчете [PDF] исследователи отмечают, что жертвам не нужно устанавливать какое-либо программное обеспечение, чтобы подвергнуться этой атаке, достаточно просто зайти на страницу с размещенным на ней вредоносным JS, что делает этот эксплойт очень практичным. «Наша атака является развитием атак на кэш последнего уровня Ювы Яром (Yuva Yarom), которые позволяют удаленному злоумышленнику получать информацию, принадлежащую другим процессам, пользователям и даже другим виртуальным машинам, запущенным на том же компьютере, где работает веб-браузер жертвы», — говорится в отчете. Когда вредоносный JavaScript запущен, он приводит кэш в исходное состояние, ожидает какого-либо действия пользователя, например нажатия клавиши, затем использует таймер браузера для замера времени, требуемого для запроса блока памяти. В случае если требуемые данные находятся в кэше, эти запросы выполняются значительно быстрее, чем другие. На основе этой информации злоумышленник может вывести соответствие запрашиваемых областей памяти с нажатиями клавиш и движениями мыши. Исследователи, по сути, разработали первую атаку по побочному каналу, которая угрожает миллионам целей — любому современному компьютеру с процессором Intel и браузером с поддержкой HTML5. Процессоры AMD по большей части иммунны к этой угрозе из-за дизайна кэша.
Есть аналог DOMNodeInserted, только чтоб вызывался перед добавлением узла? Гугл на "js node about to be inserted" выдает инфу по insertBefore, что очевидно совершенно не релевантно.
Подскажите, куда копать дальше. Учу JavaScript. Прошёл курс на CodeCademy, вроде основы усвоил какие-то, но чтобы что-то конкретное сделать знаний явно не хватает.
Выучил разные штуки:
- работа с консолью - всплывающие уведомления - примитивные математические вычисления - работу конструкций if ... else - разные бесполезные вещи, вроде вывода определённых символов из слова или получения информации о длинне слова - функции - конструкции с for - массивы - switch ... case - логические операторы - объекты - методы в объектах - hasOwnProperty - prototype - наследование объектов
Наверно уровень Beginner на это достигнут. Что делать дальше? Есть ли какие-то более практические курсы, где итогом будет, например, создание какой-то модной вещи?
Или стоит браться за изучение фреймворков? Какие из них наиболее востребованные и не самые сложные при этом?
>>476076 >Наверно уровень Beginner на это достигнут. Ох лол. Нет, это было только знакомство с языком. До начального уровня еще далеко.
В шапке есть годный совет: >Онлайн сообщества: >http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.
Читать вдумчиво, не пропускать куски текста под прикрытием «я это уже знаю», ньюфагам там много полезной инфы разжевывается.
Есть в треде успешные контрибьюторы с гитхаба ? Насколько нужно быть крутым, что бы засветиться в соучастниках какого-нибудь крупного OS проекта ? С чего начинать ?
КАК МОЖНО СДЕЛАТЬ РЕДАКТОР ПАЛИТРЫ НА ЖАВАСКРИПТЕ ЧТОБ РАБОТАЛ НА АНДРОИДЕ ВСЕХ ВЕРСИЙ? Я ТУТ НАЧАЛ: https://ideone.com/qCTJjk А ЧЕ ДАЛЬШЕ ДЕЛАТЬ НЕ ЗНАЮ НЕНАВИЖУ ЖАВАСКРИПТ
Аноним 09/05/15 Суб 19:46:53 №475949
МОЖЕТ МОЖНО СЛЕЛАТЬ ОГРОМНЫЕ ПОЛЗУНКИ НА ВЕСЬ СЕНСОРНЫЙ ЕКРАН?
Аноним 09/05/15 Суб 20:18:46 №475962
jquery ЗНАЧИТ У ВАС КОСТВЛЬ ДЛЯ ОБЕСПЕЧЕНИЯ СОВМЕСТИМОМСТИ? МНЕ ДЛЯ ВСТРЕНОГО ПРИЛОЖЕНИЯ, ОСТАЛОСЬ 5 КИЛОБАЙТ СВОБОДНА ТОКА НАФИГ КРАСИВОСТИ ХВАТИТ ЧТОБЫ ЦВЕТ ФОНА ПОЛЯ ВВОДА ОКРАШИВАЛСЯ ВВЕДЕНЫМ ЦВЕТОМ
ЕСЛИ jquery ТАКОЙ ОХУЕННЫЙ ТО ПОЧЕМУ ЕГО ВО ВСЕ БРОУЗЕРЫ НЕ ВСТРОЯТ? СКОКА МОЖНО ТЕРПЕТЬ КАСТЫЛЬНОЕ ПИДОРСТВОА? СУКАЖАВАСКРИПТ ДЕБИЛЫ НАЖИВАЮТСЯ НА ЗАКАЗЧИКАХ ИЗЗА ИСКУСТВЕННОЙ СЛОЖНОСТИ ЖАВАПАРАШИ ВТ НЕТ У ТЕБЯ УМА- ИЛИ ЖАВАСКРИПТ ПИШИ УМА НЕ НАДО НАДА ПРОСТО ЗАДРАЧИВАТЬ И К СТАРОСТИ СТАНИШ ЖАВАСКРИПТ ОПЫТНЫМ
НУ ЧЕ, ЖАВАСКРИПТ ОПЫТНЫЕ, ДАЙТЕ СОВЕТ КАК ПОДНЯТЬ СОВМЕСТИМОСТЬ http://pastebin.com/chx5HeBW НУЖЕН АНДРОИД БРОУЗЕР КАК МИНИМУМ И ЧТОБ НЕ БОЛЬШЕ 256 БАЙТОВ!
PHP генерирует таблицу расписания, которую можно тут же и редактировать: кликаешь на ячейку - она преобразуется в textarea, содержащую значение ячейки, потом ну еще не реализовал многое это всё можно сохранить отправив ajax'ом на сервер. Вопрос: почему при изменении значения ячейки и переходе к клике по другой ячейке значение отредактированной ячейки не сохраняется? ЧЯДНТ?
Котаны, как организовать структуру проекта на angular? Я вот раскидал функциональность по директориям, соответствующим модулям. Модуль dashboard например реализован с использованием подхода "один файл для однотипного кода" - свой файл с контроллерами, свой файл с директивами и т.д. Когда проект стал расти - более удобным оказался подход с отдельным файлом для каждой сущности, как в модуле login.
>>476545 Так я же редактирую HTML код + текст внутри ячейки, т.е. внутри textarea (хотя когда просматриваю исходный код элемента, то там почему-то нифига не редактируется). Так как сделать так, чтобы исходный код (содержимое ячейки) таки редактировался и сохранялся в ячейке при переходе к другой ячейке?
И еще, почему в Хроме всё нормально работает, а в ФФ при переходе к другой ячейке у предыдущей ячейки не пропадает тег textarea?
Поясните ньюфагу. Есть такой кусок кода: $(document).ready(function() { new multiple_file_uploader ({ form_id: "fileUpload", autoSubmit: true, server_url: "uploader.php" });
}); Куда в нём впиливать передачу содержимого <input> POST запросом, чтобы она происходила одновременно с активацией кода выше? То бишь, чтобы одновременно с загрузкой файла, происходила передача содержимого <input> POST запросом.
Анчоус, скажи, пожалуйста, какие направления нужно изучить, чтобы написать приложение для хрома, которое по клику слова выводило бы окошко со значение из словаря http://www.macmillandictionary.com ? Я синтаксис знаю немножко, с ООП из питона знаком, но с вебом по сути дела не имел. Вообщем, есть какой нибудь более менее полноценный источник знаний, который сможет меня подвести к решению подобной задачи? Пока начну изучать codseschool. Спасибо.
Аноны, на чём лучше писать сайт? Сейчас я пишу весь код в notepad++ и смотрю результат в гугл хроме, обновляя страничку. Но это как-то совсем уж по-деревенски.
>>477196 IDE: PHPStorm, я еще Aptana Studio юзал, вроде норм. Текстовый редактор ST3. Для того, чтобы не обновлять можешь browser-sync использовать. И в целом посмотри в сторону gulp, много полезных ништячков.
Необходимо реализовать генерацию меню на js. Возможно некорректно формулирую вопрос, но как в переменной реализовать DOM-дерево? Вроде var 2chhk; 2chhk.createElement("div"); alert(2chhk); //<div></div>;
Сейчас этот код не работает, пишет в сонсоль TypeError: e is undefined
>>477196 Лучше на Brackets. Там автоматическое обновление, поэтому не надо постоянно обновлять страницу. Внёс изменения и сразу смотришь на браузер. Плюс профиты в виде Emmet, LESS Autocompile и многого другого.
>>477177 Потихоньку разбираюсь Анон, вот, например, страничка словаря со словом CAT. http://www.macmillandictionary.com/dictionary/british/cat/ Тут определение идет каждым отдельным словом, на которое можно кликнуть. Пока что я просто хочу полностью взять самое верхнее определение и вывести его. Для теста залез в класс DEFINITION в span и взял оттуда первое значение в теге <a> и вывел в окошко расширения хром. Все заработало вроде как. А как мне взять все строчки вместе со всеми значениями тегов <a>, с запятыми и точками и скомпоновать это все?
Тут вот пара слов засунута еще в классы NDV и VOCAB, хотя в других словах нет
>>477226 Разобрался. На данный момент я просто вписываю слово, определение которого хочу отобразить в окне расширения, в .js файл. Теперь хочу, чтобы по двойному клику на какое нибудь слово на сайте, оно передавалось в переменную. Анон, есть какие нибудь идеи, как это можно сделать?
Выручайте, бандиты. Как отключить полностью зум на гугл картах ? Мои настройки сейчас: disableDefaultUI: true, disableDoubleClickZoom: true, panControl: false, scaleControl: false, zoomControl: false, scrollwheel: false
Всё ок, но на мобильном устройстве можно менять масштаб мультитачем. Есть вариант поставить draggable: false, но этот вариант, разумеется, не подходит (они там что, ебанутые что-ли ?)
>>477412 >Ни в коем случае не следует воспринимать всерьез то, что я пишу об ИТ. Моя основная профессия — мастер сельского афоризма(это еще даже не тамада), в программировании же я полный профан, а занимаюсь им сугубо для зарабатывания денег.
Пасаны, помогите 4 года кодю на Сишечке(системное для linux) и вот захотелось мне разнообразия, полез я в веб, посмотрел HTML/CSS, попробовал, тоска смертная, JS веселее, но все равно требуется вляпываться в HTML/CSS, подскажите куда копать так что на JS писать и не в вляпываться в верстку?! Посмотрел я NodeJS, писаю от восторга, реально ли сразу зайти на сервер-сайд и backend на NodeJS, есть еще интересные варианты применения JS?
>>477719 >подскажите куда копать так что на JS писать и не в вляпываться в верстку?! Посмотри ExtJS, там одни замыкания и функции и никакой вёрстки, а чтобы понять, откуда он растёт, ещё посмотри M$ Access и сравни (не копая глубоко, т.к. M$ Access это уже не модно, 1С его вытеснил отовсюду).
Тефтельки, что использовать для создания одностраничного сайта? Точнее для приложения? У него должно быть несколько различных страниц (список людей, настройки профиля, лобби, уведомления и тому подобное). Я посмотрел похожее приложение. Там используют backbone. Все странички хранятся в файле JS коде. И когда пользователь нажимает, например, на Настройки, то удаляется текущий div и добавляется div id="options", внутри которого уже весь остальной контент странички.
>>477749 Я, наверное, просто не очень хорошо раскрыл свой вопрос. Я хочу прокачать свои скиллы во фронтенде, влиться в опен сорс сообщество и стать активным его участником. Пытаюсь найти какой-нибудь проект, с которого бы мог начать, но нахожу либо заброшенные, либо популярные, у которых остались только баги вида "не открывается меню на мобильной версии IE при наклоне устройства на 75 градусов". Вопрос в том, как найти подходящий проект для такого ньюфага, как я.
>>477756 >баги вида "не открывается меню на мобильной версии IE при наклоне устройства на 75 градусов" this Никто из основных контрибьюторов чистить говно вилкой не станет, если это не критичное говно. А для ньюфагов как раз удобная задачка.
>>477762 Бекбону и всем остальным похуй откуда брать данные, хоть из пизды твоей мамаши. Есть куча платных saas бекендов, можно отдавать json любым бекенд языком, можешь даже просто файл положить и брать оттуда, вообще без логики.
>>477761 Пикрелейтед - скрины из того приложения. Я пытаюсь сейчас сделать такой же клиент. Насчёт сервера понятно. Не понятно только как менять вот эти странички внутри приложения (не знаю как это ещё назвать). Внутри страничек может быть какая-то отдельная логика, вроде таймера (игроку даётся 30 секунд на игру) или обработки клика по элементу списка. Насколько я понял, они хранят всё это в одном js коде. То есть там вперемешку js код и html.
ребята, нам задали лабу по js, так вот дальше цитата "The whole functionality must be covered with tests. The best solution to follow TDD." А теперь , внимание, вопрос : "Посоветуйте что почитать по методике написания тестов такого плана. Про гугл слышал, хочу напиться из колодца мудрости ананов".
>>477639 Есть проект на атоме. В общем норм, но много платформозависимых фич и просто косяков. Давно не открывал, платформа развивается. Платформу начальник выбрал. Ну мс на нем свой редактор новый построил, норм.
>>477876 TDD - это когда ты в уме уже построил все све приложение, придумал все-все методы. Затем для этих методов/функций пишешь тесты, которые проверяют что при таких входных данных, они будут выдавать такие выходные данные. Запускаешь тесты, и они все падают, потому что ни одной реальной функции еще нет. И ты начинаешь писать все функции, чтобы они прошли тесты.
А как можно собрать несколько файлов в один? Несколько js/html файлов в один js файл? Использую Brackets.
В этом коде http://social.wordbyword.me/js/bin/main.vk.js?v=1.0.10 есть различные дефайны, после которых идёт html-шаблон: define("text!templates/widgets/campaign.html!strip" define("text!templates/widgets/user.html!"
Потом эти шаблоны используются дальше в коде через backbone.
Видимо, какая-то программка проходит по всем файлам в папке "template", после чего достаёт их содержимое и встраивает в js файл через метод define.
>>478114 Может в вашем еба Brackets есть какой-то свой костыль для этого, но вообще для этого можно использовать всякие gulp-костыли, или в случае HTML можно использовать Jade как шаблонизатор.
Я полагаю это тред господ могущих в js,ajax,jquery?
У меня сейчас есть такой скрипт http://ideone.com/y6MgoZ Работает хорошо, а именно с момента ввода начинает автодополнять, только вот потом не реагирует на измения. То есть, если было введено слово "Груша", например, то он прекрасно выведет все нахождения данного слова, однако, если начать стирать "Груша" до например "Гру", он не начнет обновлять результаты и соотвественно , если стереть "Груша" до конца и написать "Яблоко", то результаты остануться для "Груши". В скриптах я не силён и ваша помощь необходима :3
А это второй скрипт http://ideone.com/9U4Z4S Он должен по нажатию на линк менять текст, но заставить работать его я не смог =/
>>478125 ох и намучаешься ты напрямую работать с DOMом. Тебе нужна библиотека для двухстороннего биндинга данных - изменил значение переменной и изменение сразу же отобразилось в нужном элементе. Можно тот же knockout.js заюзать, или angular.js или что угодно, даже небо, даже аллаха. JQuery - это только синтаксический сахарок плюс свистоперделки
>>478135 ты сам выбрал путь боли и страданий, тебе нужно его пройти, чтобы стать мудрее. Твоя задача решается однострочной директивой angular'a. Страдай, умней, осваивай более эффективные инструменты.
>>478145 У меня как бы есть 10 дней и мне похуй на чём делать, лишь бы можно было прикрутить к моей Джанге и работало. Комплит наверное оставлю на jquery, а кнопку возьму на ангуляре.
>>478145 ну хуй знает, напиши ка SPA тысяч на десять строк с использованием только JQuery и плагинов. Ты утонешь в каше из селекторов и калбеков. А с ангуляром - плевое дело. Грамотно разбил приложение на модули, выделил компоненты, которые можно переиспользовать и в путь.
>>478147 Если ты собираешься писать SPA на десять тысяч строк, то у тебя не возникнет вопроса, как прикрутить автокомплит, лол. А так я с тобой, конечно, согласен.
>>478125 Во-первых, нехорошо отправлять запрос после каждого нажатия кнопки. Например, можно использовать http://underscorejs.ru/#debounce , чтобы функция срабатывала после того, как пользователь закончит вводить текст. А почему не обновляет данные хз. Добавь console.log в success и error методы, чтобы проверить присылает сервер хоть что-то.
>>478122 >>478134 Заюзал gulp. Запилил конкатенацию файлов и всё остальное, но вопрос с шаблонами остаётся открытым. Хочу работать с шаблонами, как с отдельной html страничкой, но при конкатенации хочу, чтобы шаблон присваивался некой js переменной, типа app.template.login/app.template.lobby. Это нужно как-то самому плагин для gulp писать?
Помогите с пониманием Backbone. Только начал разбираться и пока довольно тяжело идет. Я хочу сделать модель документа с Google Drive. Т.е. при сохранении он должен делать определенный запрос через API Google Drive (а не просто отослать все свои аттрибуты на определенный URL), при загрузке - тоже делать запрос через API и как-то обрабатывать приходящие результаты. Так вот вопрос в том, какие методы и как (в общих словах) мне нужно переопределить ? save ? fetch ? sync ? parse ?
>>478710 Забыл упомянуть, что использую в довесок Marionette. Соответственно, будет View, которое будет отображать все изменения в модели и отправлять их обратно на Google Drive
Едрить, gulp не могёт обрабатывать изменённые/новые файлы в процессе? У меня есть две задачи: templates и app. templates выполняется первой и генерирует template.js из других файлов. Потом в дело вступает app, который собирает все js файлы (включая новый template.js) в один файл. Вот только он не видит template.js. Только при повторном вызове задачи он уже видит этот файл, потому что он уже существует. Изменения он тоже сразу не видит, только при повторном запуске. Что за хуйня?
>>478731 Я не спец по gulp, но разве нельзя поставить в зависимостях app templates ? Тогда app будет выполняться после templates и файлы будут существовать:
gulp.task('app', ['templates'], function () {...} )
>>478739 Я уже это пробовал. Даже специальный плагин использовал: gulpsync.sync(['templates','app']
Но этот хуй упорно не хочет замечать изменений. Такое ощущение, будто он при старте кеширует всё дерево файлов и потом ему похуй на изменения, ведь он берёт всё из кеша.
>>475474 Добрый день, господа. Сам я дотнет-мразь. Но решил окунуться в мир javaScript. Случилось это после того как я поиграл в http://alexnisnevich.github.io/untrusted/ Мне понравилась вся эта атмосфера, где все так просто. Не так, как на дот-нет. Собственно, я захотел углубится, но очень быстро понял, что javaScript - это словно даже не язык вообще. А все из-за того, что отсутсвуют какие либо правила. Полная анархия. Можно писать в том стиле, который больше нравится. Можно грабить корованы. Можно запилить свой стиль (как кофескрипт например) и писать на нем. Охуеть! У меня трещит мозг от такого. Разумеется, без религии мне не справится с этим языком. Но я практически не знаком с экосистемой. Скажите, может есть какие-то стили написания на javaScript? Есть у них названия? Есть ли обзоры разных стилей? Является ли то, что в игре выше каким-то стилем?
Вот, например. В некоторых проектах есть свои стили, которых нужно придерживаться и они обычно описаны в каком-нибудь файле, который находится непосредственно в проекте.
Если я удаляю представление (view) при помощи метода remove, то удаляются ли автоматически все слушатели событий, которые задаются через поле events? Так и не понял...
>>479164 С этим кодом — никак. Javascript не может отправлять имейлы из браузера, но он может сделать ajax-запрос на сервер, и уже сервер отправит имейл.
>...another issue that you may need to deal with is memory leaks. It can be easy to create "zombie Views" in Backbone if you're not attentive to the need to unregister events attached to a View after you're done with it.
>>475474 Ребята, я только изучаю API, и хочу потренироваться, может есть какие-то популярные API в свободном доступе, знания которых пригодятся в будущем. От Гугла может какие проекты. Спасибо.
Аноны, а есть подобное по структуре https://learn.javascript.ru/ но на английском языке? То есть удачное совмещение справочной инфы с примерами в песочнице и решением задач. Больше всего интересует тема "Документ, события, интерфейсы"
Здрасти, я не знаю джаваскрипт, но у меня есть iframe с id modalFrame и мне по нажатию на кнопку, которая обрабатывается джаваскриптом нужно: 1) Изменить сорс айфрейма 2) Перейти на метку в хтмл документе Как это сделать? Гугл говорит что-то невнятное, никаких ясных примеров
Я вот тут пробежался по ЕС6 туториалу, и пришел к выводу, что ЕС6 будет самым йобистым языком из всей скриптоплеяды. Когда он там уже выходит офффициально?
>>479528 Я же имел ввиду элементарное: учу работу с API. Просто думал, что знания работы с определенным сервисом в будущем пригодятся(ну например востребованы в данный момент). Но ваш ответ понятен и говорю, спасибо :3
>>479668 А чем отличается абстрактный класс от интерфейса? >>479686 Поясни за .bind, .call, .apply. А вообще, гайз, какие, по вашему, там должны быть вопросы?
>>479876 В абстрактном классе могут быть неабстрактные методы, в интерфейсе - нет. bind возвращает функцию-обертку, которая внутри вызывает заданную функцию с указанным контекстом и аргументами, плюс после этих аргументов идут те, которые будут переданы при вызове обертки (если они будут). В call передаются аргументы через запятую, в apply - в массиве. Вопросы как вопросы.
>>479906 bind, call и apply могут использоваться для partial application. например, есть у тебя три функции. В каждую из них передаются какие-то аргументы, но во все три первыми аргументами передаются a и b. Чтобы каждый раз не передавать, можно создать новые функции, с уже переданными a и b: var newFuncBind = oldFunc.bind(null, a, b); var newFuncCall = function() {oldFunc.call(null, a, b)}; var newFuncApply = function() {oldFunc.aplly(null, [a, b])};
Заметил null? Это для другого паттерна. Например, у тебя есть два класса, в каждом из них есть функции, которые используют свойства своего класса. Когда ты из первого класса вызываешь функции второго, то, эти функции будут использовать свойства того класса, кто их вызвал, а не того, кому они принадлежат. Чтобы этого избежать, нужно передать вместо null нужный класс.
Ребята, объясните, пожалуйста, как удобнее всего работать с исходным кодом против продакшн-кода; обычно у меня огромное полотно в general.js с оглавлением, чтобы быстро к необходимым кускам переходить, но меня это полотно просто доебало уже. Там секций 8, и я бы хотел, чтобы каждая секция была в отдельном файле, котороые бы потом объединялись в один файл, оборачивались в какой-нибудь $(document).ready и минимизировались. С Галпом так ведь можно поступить? А еще было бы здорово иметь возможность использовать условные неймспейсы, например, все аяксозапросы держать в папке js/ajax/..
Вот так правильно развёртку на продакшн организовывать или как-то иначе это принято? Галп с CSS что-то подобное может сделать?
>>478149 какой нахуй пет прожект, это просто селект2
пиздец мне стыдно за этот тред.
чуваки ебошат изоморфные приложухи вовсю, нетфликс под смарты использует реакт-канвас, на клиенте и сервере использует Reactive, а тут обсуждают жиквери.
>>478765 есть несколько подходов, в промышленной разработке их 2: 1) говно на жиквери (кончается тем, что получаем кучу неподдерживаемой лапши) 2) говно на MV* фреймворке. заканчивается тем же, но чуть позже.
есть ещё пара рецептов, сводящихся к попытке пропихнуть функциональные подходы, покрывать всё тестами и пытаться поддерживать модульность, но пока это не распространено.
п.с. жса не существует отдельно от html & css (только если на сервере), и игнорирование этого факта приводит к ещё одной неподдерживаемой сущности.
короче чувак если вкратце как делают серьёзные ребята: 1. проект ведётся по гит-флоу -- http://nvie.com/posts/a-successful-git-branching-model/ 2. разработка в дев-ветке, деплой идёт из мастера 3. когда пушишь в дев/мастер, CI тулзина деплоит всё на нужный сервер, попутно выполняя все хуки (тесты там и прочее говно) 4. деплоит, фактически, обычный баш-скрипт (можешь написать его на руби, на ноде, похуй). Например, можешь сделать на галпе
Теперь про организацию кода Гугли AMD, CommonJS, ESnext import-- это подходы к модульной разработке хранить файлы можешь где угодно, в любых папках
в один файл всё склеивает r.js/Browserify/Webpack
С css тоже всё возможно, тебе достаточно набрать тулзин gulp-concat, gulp-csso ну и препроцессор любимый (хотя тогда конкат не нужен)
В целом ты вроде как не шаришь во всём этом говне, и честно тебе скажу, что разобраться -- это как ещё один жаваскрипт выучить (особенно с автотестами, браузерсинком на несколько девайсов, логированием только в девелопменте и ремоут дебаггингом)
>>480029 Это называется каррирование, не? Про контекст вообще никаких вопросов не было. Спрашивалось про различия, а в работе с контекстом как раз все три идентичны. Но ты молодец, хоть что-то знаешь.
Сап. Я сделал приложение для мобилок для просмотра расписания своей шараги на html5+js, юзал Framework7. Это не совсем важно, но вот выводит оно айфрейм со страницей с расписанием. Расписание выглядит вот так. И выглядит оно уебищно, в аппстор такое не пустят. Можно ли как-нибудь взять эту таблицу и распарсить на инфу, которую в нормальном виде, например, карточками, можно вывести юзеру? Где на эту тему почитать?
Можно ли как то воспользоваться этой штукой в моей всратом коде? Тут я по клику получаю слово, отправляю его в ссылку с get запросом , которя дербаниться с помошью jquery и вызываю функцию renderBubble с передачей координат клика мышки, которая создает всплывающее окошко с определением. Тоесть пока самый простейший случай без проверки на существования слова в словаре и прочее.
>>480163 Я вообще, считай, первый раз со всеми этими технологиями дела имею. До этого только css под себя у одного сайта правил. Че ты хотел, чтобы я сразу тут все правильно делал? Чтоб api получить, там надо форму заполнять. Если поможешь на английском составить запрос как надо, то я бы попробовал разобраться, ибо я только навыки понимания в языке задрачивал пока что.
Парни, всю голову сломал с организацией кода в Marionette. Подскажите репозиторий, в котором можно подсмотреть, как всё это делается по уму. Сейчас у меня расклад такой: использую Coffee + Browserify, есть каталог с Views, есть Models. Не знаю, куда запихнуть роуты и модули (и вообще, честно говоря, не понимаю, нахуя нужны последние). Хотел для роутов создать отдельный каталог (так ведь и нужно по идее, да ?), но не понимаю, как в класс роутов передать управление от моей View. Ну т.е. допустим у меня есть ClientsView который может отобразить клиентов как в алфавитном порядке, так и по дате последней покупки. Есть класс ClientsRoutes, в котором определены соответствующие роуты, а в контроллере должно быть управление отображением. Так вот, как связать ClientsView и контроллер внутри ClientsRoutes ?
>>480081 Так, я использовал XMLHttpRequest чтобы получить исходный код локальной страницы. Куда-то я уже иду, но у меня появилось несколько вопросов: 1) Как получить исходный код страницы с внешнего домена? 2) Как распарсить html-строку так, чтобы вытаскивать из неё DOM-элементы.
>>480192 >Marionette Роуты на клиенте или на приложке? Если первое то сам понимаешь, если второе - деплой инту приложка дир, ибо выше по лвлу, можешь занеймить как bin.js или канда лайк. Андестенд? А вообще юзай человеческий фреймворк.
>>480193 И еще. Например у меня есть рандомная строка, предположим "fgsfds<s>fgsfdasd</s>fgsfds" Как мне из неё записать в другую переменную <s> и </s> и всё между ними?
>>480197 На клиенте, приложение без сервера вообще. Хочу изучить Marionette, так как: - ангуляр заебал - есть неплохое предложение, которое требует знания Marionette - периодически попадаются неплохие вакансии, требующие Marionette - для общего развития
>>480193 Откуда берется это расписание ? Если например, с Google Drive, то есть способ получить данные с таблицы в виде JSON и ничего парсить не придется.
>>480228 Я знаю про параметры. Но мне нужно вытащить дату из таблицы. Например из ячеек название пары, препода, кабинет, номер ячейки относительно таблицы. У них там всех ID есть.
>>480063 Не умничай, каррирование - это когда ты из n аргументов создаешь n-функций, у каждой по аргументу. А partial application - когда часть аргументов (т.е. один и больше) прибиндиваешь к функции. В некоторых простых случаях каррирование и partial application могут быть одинаковы
>>480151 Ну так настрой в .jshintrc поле globals, чтоб на jquery не ругался. Если у тебя в коде есть "ошибки", которые ты игнорируешь, то, скорее всего, проебешь ошибки, которые игнорировать нельзя.
Есть input type="number" для него задал keydown(false). Значится можно вводить туда значения только нажимая на стрелочки.
Вопрос такой: Какой эвент отвечает за нажатие только на стрелочку(вверх и вниз). В общем нужно чтобы эвент срабатывал только на нажатие стрелки, но не на нажатие клавиши с клавиатуры.
>>480279 >>480282 Вот только проблема заключается в том, что оба скрипта удаляют и те <li>, в которых есть текст. Как мне удалить конкретно те <li>, в которых нету текста?
Какую выбрать жс библиотеку/фреймворк для реализации следующего функционала: 1. Вешать ивент на перемещение по ячейкам для подсветки текущей ячейки. Перемещаться можно как через мышь, так и клаву. 2. Изменение содержимое ячейки через мышь/клаву. 3. Добавление (рендеринг) новой строки при нажатии Enter. 4. Появление кастомного попапа типа select 2 с тегами для каждой ячейки при перемещении на конкретный столбец. Содержимое попапа меняется в зависимости от того, в какой ячейке сейчас курсор. 5. Также автокомплит в ячейках для конкретного столбца.
В общем экселеподобный фукнционал, только с всплывающими попапами. Я пробовал написать это на жквери, но у меня вышла жуткая лапша и все как-то через жопу и неорганизованно. Может посоветуете что.
>>481056 Бля, забыл написать, что это таблица. Просто хочу сделать удобный ввод данных, в основном с клавиатуры. Но там будет несколько ивентов навешиваться на разные ячейки, вот и подумал, может какая-то библиотека для этого уже есть, чтобы код держать в чистом состоянии.
>>480838 На жквери уже пробовал, но т.к. куча полей для ввода, на каждый навешивается ивент, еще и попапы - слишком много кода выходит и как-то все усложняется. Хуже читается и сопровождать тяжело, а это всего-то одна таблица.
>>481098 если ты к этому прикрутишь фреймворк по типу ангуляра или ембера (или реакта с фулл-стек флаксом)))), то тебе придётся создавать 20 доп. файлов, 10 папок, брать сборщик, минимизатор, писать дохуя бойлерплейта, и ты всё равно напишешь полный неподдерживаемый говнокод, потому что писать на %фреймворк_нейм% не умеешь.
единственный плюс фреймворков -- легко расширять, ЕСЛИ писать грамотно.
поднимать проекты с yo-generator'а...ну, можешь, конечно, но ты вроде как не шаришь, а пока разберёшься, охуеешь.
так что пиши на жиквери через делегирование, юный падаван.
Не отрабатывает со спанами пустыми. Но вообще, если бы оно отработало, то удалило бы всё. Прости, проебался. Надо, выходит, удалить те <li>, в которых нету <label>
Аноны, помогите хоть в этот раз. По поводу расширения для хрома. Внедряю в страницу в body новый div блок с задаными размерами, который появляется по клику мыши на слово, и на разных сайтах он либо нужного размера, либо меньше. Куда копать? Вот штука номрального размера, которая должна появляться https://jsfiddle.net/yLa1L0r8/
>>475474 Я конечно понимаю, что тут боги жкуери шаблонов и повелители жумлы, но все таки спросить попытаюсь. Есть ли толковое решение (шаблонное красивое с кучей плюсиков от в3) по размещению Webm на теге <video> в хтмл5 ? (чтобы не сразу видево подгружалось, а по нажатию, а то, если видев много - он их все в кеш сувать начинает акаянный).
Мне нужно сделать аддон для фаерфокса, который будет заменять опредленные ссылки на другие. Раньше делал всякие расширения на хроме и там достаточно было файла manifest.json и пары скриптов. Пытаюсь понять, с какой стороны подступиться к написанию расширений на огнелис. Вот здесь (http://stackoverflow.com/questions/20409349/what-is-the-easiest-way-to-develop-firefox-extension), например, советуют самый простой способ написания расширений - скачать SDK, который требует ЁБАНЫЙ ПИТОН. Охуеть, что бы разрабатывать расширения на JS. На других страницах руководства от мозилы пишут про какие-то непонятные файлы, необходимые для простейших расширений. Анон, помоги, куда копать.
>>481463 Нахуй тебе расширение, сделай юзерскрипт, который будет [code lang="js"] var list = document.body.querySelectorAll("a[href^='http://yandex.ru']"); for (var i = 0; i < list.length; ++i) list[ i ].href = list[ i ].href.replace("http://yandex.ru", "http://google.ru"); [/code]
>>481538 Это не я придумал и, к сожалению, отделаться юзерскриптом не смогу. И я чуть ниже пояснил, что нужно перенаправлять, а не менять ссылки. Нашёл, как сделать: var pageMod = require("sdk/page-mod");
A bomb has been set to go off! You have to find the wire and cut it in order to stop the timer. There is a global property that holds the key to which wire to cut. Find that and then you can CutTheWire(wireKey); http://www.codewars.com/kata/523c7fbb0d47a759580000e2 как я понял есть некое свойство в глобальном объекте хранящее значение переменной wire, пляски с бубном window.wire i this.wire ничего не дали, отладчик показует значение undefined в this.wire
Sup, есть такая хуйня http://ideone.com/QJA6n4 Она выводит на страницу результаты по мере заполнения всё заебись. Как сделать чтобы она выводила на каждой странице и как сделать так чтобы , если какой-нибудь даун решил нажать Enter с введенным значением, то редиректило на /search/"Значение"/ . В скриптах не силён.
Начинающая ковырять ангуляр макака просит помощи айтити, Валидация не валидируется, епта. http://pastebin.com/9pw3z1Bu Что интересно, запросы к бекенду идут, алерт выводит нужное сообщение об ошибке, а форма все равно отображается как валидная. НИД ХАЛП.
Где можно почитать про локальное хранилище? Я недавно в JS, но хотелось бы узнать побольше про локальные хранилища и генерацию элементов используя локальные хранилища, может есть какой-нибудь простой фреймворк?
Програмач, вот для создания векторного контента для флеш-анимации (и создания самой анимации) есть Adobe Flash Professional, а что есть для создания векторного контента для жс-анимации? Есть какой-то редактор, в котором можно было бы нарисовать что-то в векторе, а потом экспортировать это в вызовы функций canvas-а?
>>481701 > В расширении тоже используешь классы loading и bubble? Попробуй другие, типа yobaperebodchik-loading.
Классы преименовывал. А помогло свойство -webkit-box-sizing: content-box; Но пока еще не понял толком, как оно заработало и почему на разных сайтах ттакая рпоблема вообще выскаивает.
Вообщем, на данный момент получась такая вот анимация прелоадера и раскрытия окошка. Норм?
Ребят, есть несколько списков, в конце каждого скрипта крутится этот скрипт http://jsbin.com/tipabeseje/1/edit?js и делает видимой нужную строку. Проблема заключается в том, что если хоть в одном из списков строка становится видимой, она автоматически становится видимой во всех остальных списках. Как это предотвратить?
>>482809 Может я, конечно, не до конца понял твой вопрос, но если у тебя несколько списков, в каждом из которых есть элементы, попадающие под твой селектор и ты выполняешь действия над этим селектором, то они отразятся на всех элементах, которые под него попадают. Соответсвтенно, тебе нужно менять селектор.
Ты можешь сделать что-то типа $("ul").each(function (el) { // здесь выполняешь скрипт по скрытию элементов // в каждом из списков отдельно el.find('li.toBeHided').remove(); var c = el.find('li.toBeHided').length; if (c > 3) el.find("li.showAll).css("display", "block"); })
Писал по памяти, так что гугли сам документацию на $.each, скорее всего я что-то напутал
Снова на связи я >>482561 Продолжаю пилить плагин к summernote, но у меня возник вопрос: как в контроллере скомпилить некоторую свою директиву(например, я объявил директиву govno-mocha и хочу скомпилять <govno-mocha></govno-mocha> )? Мне это нужно, чтобы скомпилированный выхлоп скормить функции добавления плагина( она принимает на вход лист, а скомпилированная govno-mocha как раз преобразуется в такой список), но как это сделать - не знаю, пробовал $compile(directive)(scope), но на выходе нифига.
Ньюфаг в треде, хотел сделать таймер, но почему-то не работает. Что не так? Хочу, чтобы запускался через "new Timer(100,100);" По логике должно все работать, но выводит только 0 и сдыхает.
>>482370 >>482937 Может быть я настолько плохо описал, что мне нужно, но задача настолько тривиальная, что многие обязательно сталкивались и знакомы с ней.
Приведу простейший пример: Юзер кликает на ссылку, ссылка сохраняется в локальное хранилище, там будет массив, в который сохраняются ссылки. Затем юзер открывает страницу "История". В содержимом этой страницы есть список. Этот список должен генерироваться, генерируя по элементу списка на каждую ссылку. Например у нас 10 ссылок - сгенерировалось 10 элементов с ссылками. Ссылок 12 - сгенерировалось 12 элементов, по одному на ссылку, каждый содержит соответсвующую ссылку. Главное - чтобы список генерировался либо автоматически не перезагружая страницу, либо генерировался заново после нажатия на ссылку, после добавления ссылки в массив.
Алсо, посоны, поясните, в коде у меня возникли проблемы с this объекта, приходилось передавать его через переменную. Это нормальная практика или есть способы получше?
>>483083 > проблемы с this Это привычный заёб js, в котором this - это контекст где вызывается функция, а не где она определена. Решается либо function() {...}.bind(this), либо через переменную.
В стрелочных функциях es6 этого заёба уже не будет.
>>483086 "Он" либо ничего не вернет, либо вернет Promise. Значение нужно проверять в колбеке. localforage.getItem('huypizda', function(err, value) { if (error) { // Что-то пошло не так } if (value === null) { // Значение не сохранено в локалсторадже } })
>>483018 Объясни поподробнее. Ты хочешь сделать что-то типа своего менеджера закладок или что ?
> Юзер кликает на ссылку, ссылка сохраняется в локальное хранилище
Где находятся эти ссылки ? Если все на одной странице, то это одно, а если все на разных, то локальное хранилище не прокатит по той простой причине, что оно для каждого домена своё. Т.е. сделав localStorage.setItem("test", "test") на a.com, ты не сможешь получить localStorage.getItem("test") на b.com. Если кейс такой, как я описал, то тебе нужно делать расширение для браузера и сохранять твои ссылки в localStorage страницы расширения.
/зк, спасай. Третий день ебусь уже. Вот смотрю я на доки ангуляра, пункт $asyncValidators https://docs.angularjs.org/api/ng/type/ngModel.NgModelController . Вроде все понятно, нашлепываю свой код http://pastebin.com/KL6ZDjq0 . На первый взгляд, все логично и по гайдам. Запрос от сервиса уходит, правильно обрабатывается на бекенде, возвращается правильный ответ с сервера, но ЕБУЧАЯ ФОРМА ВСЕГДА ВАЛИДНАЯ, ОШИБОК НЕТ. Что не так? Раз запросы идут, значит валидатор прицеплен, вроде все ок.
>>483336 Юзер выбирает из списочка элемент, нажимает на кнопку и ему открывается страничка ровно на том же сайте с параметрами. Мне нужно сохранять историю вот таких вот выборов и затем кликов на кнопку, а затем выводить её юзеру. Я вроде разобрался - заюзал локалСторедж + Template7 чтобы это выводить, правда приходится каждый раз страницу перезагружать, чтобы в истории было видно изменения.
Но вот проблема: История генерится из массива в локалСторедж, я хочу чтобы при добавлении проверялось, есть ли уже добавляемый элемент в массиве. Для этого я нагородил вот этот вот код: http://pastebin.com/FS3fsfi1 И сделал в приложении всего одну кнопку, по которой в массив с историей добавляется элемент. Элемент добавляется всегда один и тот же. Но при проверке прога всегда думает, что такого элемента в массиве нет. Что не так?
>>483502 Хм. А зачем режект? Разве валидатор не булево значение должен возвращать? Разве он не на ngModelController, ассоциированный с моделью вешается?
>>483510 Предположу, что знать API ноды. Скорее всего, знать Express, т.к. это почти стандарт. Вероятно - underscore/lodash. Погугли вакансии на каком-нибудь интернациональном сайте и посмотри требования
Анончик, как на node.JS написать такое асинхронное дело:
- асинхронно получить id юзера по sessionId из базы. - если такого юзера нет, то завершить выполнение - если есть, то параллельно сделать 2 асинхронных запроса: - профиль юзера - его картиночки когда всё придёт, то - сделать с этим какую-нибдудь и вернуть response
Хочется, чтобы этот код был читабельным. Какую либу заюзать для такого.
>>483558 Насколько я понимаю, что такое промисы, то хуета получится. promise не могут параллельно выполнить N запросов и дождаться ответа. там только doYoba(function(){}) .then(function(){}) .fail(function(){})
а мне надо выполнение двух ёб параллельно, ещё и чтобы из flow можно было бы выйти в любой момент.
Было бы круто, если бы анон доставил годный вариант flow control на js. Я пытался приручить async.js и кучу другой хуеты. Но получается уёбищный write-only говнокод, а хочется простоты без уродских function([ function(){}, function(){}, function(){}], function(){}){}
>>483606 Ну если ты в MySQL хранишь что-то вроде: {id: 1, data: '{"some":"json", "placed":"here"}' то перекатывайся в монгу. Если нет, то и не надо перекатываться. Mongo и My SQL для разных задач.
>>483610 Спасибо, анон. Оно, конечно, работает, но это как раз то, что я называю writeonly. Такое читать и сопровождать тяжеловато. Я пока научился делать flow control с помощью Flowy:
>>483662 Ну, не. _db, это скорее репозиторий, который что-то там делает с mongo. Про монго я упомянул, чтобы показать, что ассинхронность запросов важна даже в однопоточном Javascript. Мне этим и не нравятся промисы: надо делать долполнительные присядания, чтобы функция поддержала промисы. Простоты хочется.
>>483665 >>483666 Зачем нужно это петушение с промисами-хуисами и прочей хуитой, если есть простая и няшная нативная поддержка асинхронности? Если вы не можете обработать что-то без задержки - вон из профессии на хуй!
> Здравствуйте. Я изучаю английский язык и ваш словарь оказался наиболее предпочтительным для меня. К сожалению, в интернете нет расширение для браузера типа chrome dictionary, но с данными из вашего словаря. > https://chrome.google.com/webstore/detail/google-dictionary-by-goog/mgijmajocgfcbeboacabfgobmjgjcoja > Я начал изучать веб программирование, чтобы реализовать подобное расширение, поэтому прошу вас предоставить доступ к вашему API
Hello. I'm study English and your dictionary turned out to be the most preferable for me. Unfortunately, i haven't found the browser extension such as "Chrome Dictionary (by Google)" with the content from Macmillan Dictionary ". So I started to learn about web development to implement a similar extension and I ask you to grant access to Macmillan Dictionary API for this purpose
> Это моя первая попытка реализации базовых возможностей (расширения) на данный момент
This is my first attempt at implementing of the basic features for now
Допустим, я уже хорошо знаю чистый js(5,6) и какой-нибудь лодаш. Дальше что? Я поделал туториалы по ноде, но не пойму чем занимаются разработчики, просто хуячат апи-сервера и чятики? Посмотрел ангуляр и реакт, но мне не нравится фронт-энд. Куда дальше смотреть?
>>483733 >This is my first attempt at implementing of the basic features for now Думаю было бы лучше так. This is my first attempt to implement the several basic features for now.
Привет, закончил первую часть на learn.javascript. Вроде понятно, но последний раздел "ООП в прототипном стиле" оказалася довольно непотяным. Так вот, куда дальше? Хотелось бы закрепить полученные знания, порешать задачки от более легких к сложным.
>>483936 Нет, английский обязателен. Даже не представляешь на сколько. Инфа переводится спустя хуй знает сколько времени и то - малая её часть. Просто забудь про русский вообще, всю информацию сразу гугли на ангельском.
>>484128 Никак. Но Ты можешь разместить на станице, что грузится в айфоейм скрипт, который будет передавать твоему коду сигнал не выводить алерт. Или, если страница не твоя, чекни какие скрипты с ней грузятся и проверяй по ним.
>>484136 В первую очередь — джаваскрипт. Во вторую, смотря что тебе нужно. Нужно ООП, статическая типизация, тогда Typescript. Нужна иммутабельность, функциональщина, тогда ClojureScript. Про остальные ничего не могу сказать, не пробовал, но из более менее заслуживающих доверие (т.е. замеченные в продакшене), могу еще назвать Elm и PureScript.
>>475474 анон, как на счет скрипта для добавления тредов на архивач? плагин для хрома есть, API есть, для мозилы нихуя нету. непорядок или кто встречал уже готовые решения?
Парни, посоветуйте какую-никакую ide под чистый javascript, а то я тут хуй знает что к чему. В основном ебашу на нормальных языках, но тут маленько нужен этот ваш скрипт. Ну нужно короче окошка для кода с подсветкой синтаксиса и автодополнением. Ну и окошко консольки для инпута/аутпута.
Как из одного инпута данные передать во второй, невидивый инпут, если я не могу менять их айдишники, имена, а они не юзабельны, ибо имеют кошмарно длинный вид?
>>484410 Попробовал написать $('input.mininval').value = mininVal; но значения так и не поменялись, можешь подсказать что не так? mininval - имя класса инпута mininVal - имя переменной, которую я хочу туда запихнуть
>>484417 Да, я только что проверил этой функцией, подключен. $(document).ready(function(){ alert(jQuery.fn.jquery); }); Но скрипт почему-то всё равно не хочет отрабатывать.
Ребят, а кем работать javascript'еру? Я вот поподзадрачивал его по всякому, поизучал. Норм вещи уже могу.. ну и давай устраиваться. Ну кем? Ну типа Front-End. Туда-сюда, а это верстальщик ёбаный. JavaScript там в хуй никому не уперся. "Вот тебе PSD - делай из него html" Как дальше жить? Типа зубрить этот справочник, CSS, теперь?
>>484466 1) Поработай с несколькими фреймворками типа backbone и angular (потому что ви никто не умеете в подобие архитектуры на чистом js). Или хотя бы посмотри как выглядит незапеченный код серьезных дядек (нет не вконтакте лол). 2) Выучи canvas, опционально webgl 3) Практикуйся, читай литературу по JS 4.0) Осиль гит. 4) Сделай проект ХУИТАНЕЙМ на гите, желательно чтобы задроты-энтузиасты делали тебе code review 4.1) Осиль минимайзеры 5) Иди работать в задротскую контору ДС за 70 на фронт-энд мида, чтобы тебя там ебали в жопу и делали код-ревью 6) Быстро перекатывайся на фронт-энд сениора на серьезный проект за 130к, параллельно уча sass/less и прочую гомосятину. Параллельно можешь учить ноду. Твоя задача к этому времени - делать изи мэйнтэйнебл код овер 2-5-10к строк.
Pro TIP: лучше всегда работать на веб-сервисах, saas и разработке SPA, чем на cms-говне. Вот там как раз таки овердохуя строк в js и огромное поле для рефакторинга легаси говн либо построения своей архитектуры (которая превратится быстро в легаси говно под давлением client demands ороро).
Есть группа радиоинпутов с одним именем. Соответственно, выбрать можно только один. Однако при выборе одного и отправке формы отправляется только on. Как сделать, чтобы они отправляли разные значения?
>>484482 Легко поддерживаемый. По крайней мере чтобы люди с собеседования не уходили с лошадиным смехом, пролистав js код.
>Там двое суток неторопливого обучения.
Два дня это для уже заматеревшего разраба, который привык насиловать консольку и знает несколько ЯП. Человек, который не может до конца понять селекторы jQuery, просто не осилит эти технологии.
Есть тут бывшие пхпшники, перекатившиеся на ноду? Чем конкретно отличаются проекты? Реквестирую гайды успешного переката или просто прохладные. Я сам работал с Symfony и Laravel, но чет меня подзаебал пых в последнее время. Хочу сменить обстановку, расширить свои знания, но с текущей работой это выходит тяжко, вот и думаю, стоит ли перекатываться в область ноды. Джанго и питон я отмел, как ненужные.
>>484601 Правильный выбор, учи смело. Нода - это 70 на 30 JS и PHP. Если неплохо знаешь их, сложностей не будет, а нода гораздо удобнее ПХП. В шапке две годные книги по ноде.
У меня очень глупый вопрос. Где можно найти какого-нибудь долбоеба, которому можно было бы нахаляву помочь что-то делать? Поясняю. Я вроде как устроился чем-то вроде веб-макаки, но все время занимаюсь хуетой, а душа лежит к жабаскрипу. Но хочу - не значит умею. Опыта для устройства на нормальную работу недостаточно, а на текущей работе он как-то нихуя и не появляется. В общем, я бы с удовольствием присоединился к какой-нибудудь кустарной штуковине на гитхабе, где меня не посылали бы нахуй за излишне кривые коммиты. Вот только где искать подобное? Может, есть какой-то ресурс для аутистов, где аутисты совместно пилят хуйню, или проект на гитхабе с низким порогом вхождения?
сап, скриптач, есть одна форма http://pastebin.com/5p5VMjxj которая нихуя не работает, т.е. работает и отправляет title и tags, но инпут content почему-то игнорируется, щито я делаю не так?
Посоны, я нуб в ангулар. Вот сейчас с помощью ng-class подсвечиваю выделенный пункт в меню. Так он выделяется, но после того как я щелкну рядом с ним. А до этого он серый, как будто на него мышка наведена. Есть решение этого вопроса? Используется bootstrap, может в нем дело?
>>485157 Можно, не слушай петушков. Он довольно хорошо подходит в качестве первого языка, так как не очень сложен, но при этом не является кастрированным суррогатом вроде питона и после него легко понимать практически любые языки.
>>485183 В жс много неочевидных и не логичных вещей, что делает его плохим первым языком. Если человек привыкнет ко всем этим ньюансам у него будут проблемы с нормальным языками в будущем. Да, язык прост, но из-за простоты своей писать начать на нем нормальный код не просто. Я ньюфагов в программировании имею ввиду.
>>485193 Хули тебе не понятно в замыканиях? Ну да, в них не сразу вникаешь, но за пару дней вполне можно понять. >>485191 >В жс много неочевидных и не логичных вещей Например?
document.addEventListener("load", function(event){alert("hi");}); Оно даже в таком виде не работает. Что тут может быть не так? Браузер не плюётся. Всё валидно.
Объясните глупому, откуда в диспетчере задач браузера такие охуительные числа в графе Memory ? Практически статичные страницы весят по 50Мб. На них текста-то не наберется и на несколько килобайт. DOM дерево ? Тоже мне кажется не должно особо много весить, я не могу себе представить что-то больше 5, ну ладно, 10 Мб. Что еще ? JS объекты и функции в памяти неужели так много занимают ? В DevTools смотрел, ответа на свой вопрос не нашёл.
>>484822 Спасибо за совет. Наверное, так и стоит делать - брать и лопатить сквозь интересные проекты на гитхабе влоб. Кстати, метеор - это заебись. Я его как раз немного умею и временами пилю на нем всякие штуки для себя, друзей и просто так. >>485173 Будто в него высокий порог вхождения.
Посоны, дайте быструю подсказку. Вот есть такая форма. http://jsfiddle.net/ejwb1Lqv/ Я уже смог отследить что вызывается при нажатии клавиши. Осталось только узнать как мне получить само значение, записанное в этой форме. Подскажи, пожалуйста, потому что я с ангуларом вообще не работал до этого.
Я не использование его имел ввиду, а работу над ним. Расскажи, пожалуйста, потом, как успехи. Я сам ищу куда примкнуться и не нахожу, так что твой успешный опыт меня смотивирует искать лучше.
>>486130 Справедливости ради стоит заметить, что использовать подобный код в каких-то других, помимо исключительно развлекательных, целей, будет только полнейший уёбок.
>>486131 Либо новичок, который постепенно привыкнет к тому что так и должно быть и ощутит боль столкнувшись с более логически понятными языками. Разговор шёл о том хорош ли js в качестве первого языка. Я считаю — нет.
>>486130 Не понял последнего пассажа в статье. Я имею в виду localstorage. Что автор ожидал увидеть? В смысле, хранилище вроде как умеет только строки и все преобразует в строки. И это не какой-то большой секрет, о котором никто не говорит. Хотя возможно, оно уже и не только в строки умеет, хуй знает. С тем же успехом можно было жаловаться на то, что клиентский жабаскрип не умеет разворачивать шелл на стороне клиента.
Вообще все эти нападки на язык странные. С тем же успехом jsники могли бы обвинять программистов на си в том, что у тех строки с интом влоб не складываются.
JS не идеальный язык. Имеет свои слабые и сильные стороны. И косяков имеет в избытке. Но вот конкретно подобные примеры лично меня вымораживают. Ну хочешьиспользовать регулярные выражения, загляни в документацию, проверь как они работают. Хочешь умножать объекты на массивы, загляни в документацию, блядь. Прикинь, что получится. Я же, блядь, не ставлю в питоне точки с запятой просто потому что в других языках они нужны.
Эй, погроместы, скажите с помощью чего лучше изучать этот ваш жс для личного пользования? Т.е. автоматизация в браузере, в винде, вот такие вот задачи. Макакировать и зарабатывать в мои планы не входит. С экма-подобным синтаксисом знаком хорошо. Что подскажете?
>>486877 bind создает функцию с уже готовым контекстом и, возможно, дополнительными аргументами. call, наверное, можно записать в переменную, только нахуя. Не проще ли просто вызывать функцию (или если нужно контекст менять, то вызывать call там где надо), а не устраивать цирк с дополнительной переменной?
>>487171 Пиздец ты тупой. Через bind ты задаешь контекст и получаешь новую функцию, а через call и apply ты просто вызываешь функцию с заданным контекстом.
Как подключить Q promises через requireJS? В лисе в консоли ошибка: > Error: Module name "weak-map" has not been loaded yet for context: _. Use require([]) http://jsfiddle.net/3qgncwhq/
>>487425 Пройдет охуилион лет прежде чем ты начнешь в действительности понимать различия между языками и их особенности. Так можно никогда и не начать писать код.
>>487473 Да что сложного-то? Используешь любую переменную вне функции, всё, замыкание получилось. Если ещё эту переменную создавать вместе с функцией function create(){ var cl=0; return function(){ cl++; return cl; } } То получится что наша функция хранит значение cl между вызовами: f = create(); f(); //1 f(); //2 f(); //3 f(); //4 f(); //5
>>487519 >То получится что наша функция хранит значение cl между вызовами Ой, они все и так хранят значения между вызовами. Как и с глобальными переменными. Тут главный бонус что замыкания получаются изолированные.
var glob=0; function create(){ var cl=0; return function(){ gl++; cl++; return [gl, cl]; } }
>>487504 Ты прав, мало что понял. Пока читаю статью на Мозилле, потом в планах статья на хабре в двух частях, курс на юдасити и лекция на хекслете. Если и после этого не пойму, то пока оставлю на потом и буду изучать другие темы. Пока складывается впечатление, что это хитровыебанный огород вокруг классов и приватных переменных и методов в других языках.
>>487525 Можешь писать без хитровыебанности. Просто называя приватные методы начиная с подчёркивания. Есть случаи когда этого нельзя избежать, в основном наследование.
>>487525 Кроме того, это особенность, которую необходимо учитывать, если собираешься, например, в цикле назначать коллбэки.
for (var i = 0; i < 3; i++) { btns.addEventListener('click', function () { console.log(i) // здесь будет использоваться не значение переменной на момент назначения коллбека, а значение переменной на момент вызова, т.е. "2" }) }
>>475474 Сап, скриптаны. Недавно начал обмазываться юзерскриптами и это стало отличным поводом подучить JS. Собственно, у меня к вам простейший вопрос. Есть форма следующего содержания:
господа я изучил теорию по скрипту но блядь как его применять при создании веб страницы -те меня интересую только практич фишки -что посоветуете?,спрашиваk в вебе но там не ответили
>>475474 Как же я ненавижу всех этих функционало-мразей. Просто подгорает. Эти пидоры нихуя не могут написать даже имен нормально, блядь. Открой и посмотри любую функция и 100% увидишь выебимМеняПалкойБратан(выебатьФункция,Цель,Предмет,Я) Просто пиздос. Не перестаю охуевать.
Анончез, хочу сделать простое обтекание блоков (типа как в пинтересте, например) без всяких говноплагинов, но как? Посмотри - http://jsfiddle.net/2kxL1kv4/ почти то, что нужно, но получаются отступы. Можно ли их как-то убрать через жаваскрипт?
На юзерскрипте при нажатии r и t выполняются 2 разных действия пока снова не выключишь их с помощью r или t. Нужно чтобы эти действия включались/выключались одновременно по нажатию кнопки p. Как сделать?
Хочу обмазаться автоматизацией в тестировании для работы. Для этого нужен Java. Хочу обмазаться JavaScript просто для себя, потому что интересно. С чего из них лучше начать обучение и насколько трудно будет освоить второй из списка язык после того, как освою первый?
>>488554 >С чего из них лучше начать обучение Начни хоть с чего-нибудь, там сам поймешь. >насколько трудно будет освоить второй из списка язык после того, как освою первый? Да нам-то откуда знать? Ну, проще пойдет, это да.
>>488318 Ты можешь мне простеньки жс-скриптик написать? А то солумны ебаные мне верстку пидорасят на 1280х... экране, а на остальных норм. Что за дела - не знаю. Уже неделю с этим говном ебусь.
честные, только начал изучать js, да и программирование как таковое тоже. не понятно, что значит такая запись в документaции : Object.create(proto[, propertiesObject]) что это за массив с аргументами, запитые какие-то ещё. я думал как то так правильно писать в js:
>>489339 Это синтаксис функции, а не пример её использования. В квадратных скобках - необязательные параметры. Соответственно, если ты не используешь второй параметр, то запятая не нужна, поэтому она написана вместе с ним в скобках. Это, кстати, не только в JS так описывается, но и много где (везде, наверное)
Как проверить свойство объекта на объект? http://pastebin.com/cL69LFz5 У меня получаеться: name Neo age 25 friends Object genre male А хочу что бы name Neo age 25 HoHoHo genre male
Аноны, столкнулся с такой ситуацией, что скрипт не хочет работать, если его подключаю/размещаю в начале страницы (в header или body), однако прекрасно отрабатывает если размещаю его в самом конце тела страницы (перед закрытием body. В чём дело?
скрипт автоматически загружает пикчу на сервер как только её выберешь в input[file] и тут же отображает её на странице
>>491592 Помести скрипт после input и посмотри что выйдет. Потом помести до. Сделай выводы. document.addEventListener('DOMContentLoaded', function () { // твой код })
Если обернешь свой скрипт в эту функцию, то он сработает после того, как загрузится DOM и всё сработает нормально.
Привет, анон. Имею толику знаний в программировании: С/С++/PHP, JS. Все они крайне отрывочны, бесструктурны. Например, до недавнего момента я думал, что что-то знаю о сервера, но оказалось 80% ошибочно: он может отдавать не только файлы, но и что угодно. Короче у меня довольно "высокоуровневое" понимание в программировании. В последнее время очень увлекся JS, но PHP перестал подходить, так как мне нужно было что-то событие-ориентированное. А как только поставил ноду, то всё как страшный сон. Ломаются все стереотипы. Какой-то очень низкий уровень HTTP, с которым в PHP никогда не работал и всё ограничивалось поставить денвер, а потом перенести на внешний хостинг. Поэтому, анон, скажи что мне надо знать, чтобы бы к ноде подойти уверенно? JS пишется крайне легко, но вот нода...
Скриптуны, помогите с функцией, пожалуйста. У меня есть див, у дива есть прокрутка: .chatbox { overflow-y: auto; } Мне нужно, чтобы функция устанавливала прокрутку в самый низ. И сделать это нужно без сторонних библиотек/фреймворков, на чистом js. Хотя бы скажите, куда гуглить. Я весь день пишу чат на вебсокетах, бэк написал, теперь вот фронтом занялся. Проблема в том, что раньше в js вообще не сталкивался и голова уже не варит.
Здесь есть кто-то, кто пишет юзерскрипты для greasemonkey? Поясните мне, как сделать так, чтобы изменить атрибут CSS (скажем, background) у класса даже несмотря на !important?
Можно как-нибудь установить соединение с ТСР сервером чтобы слать и принимать байты, или я застрял с блядскими вебсокетами и невероятно дорогим жсоном?
Ньюфагам:
1. Что это за язык такой? - Мультипарадигменный язык, изначально создавался для использования в браузерах как язык сценариев для придания интерактивности веб-страницам, однако в процессе своего развития преодолел этот этап и сейчас может использоваться для любых целей ввиду своей неограниченной гибкости и удивительно удобного синтаксиса.
2. Это чтобы менять цвета, и вызывать всякие всплывающие окна? - Это только малая часть того, что может язык. Сейчас, на JS можно делать игры (phaser, cocos, etc.), 3D графику (three.js), можно делать и приложения для телефонов(phonegap, ionic), можно делать десктоп приложения(node-webkit).
3. Ну ясно, а че еще можно? - А еще можно использовать на сервере, причем очень даже успешно. А все благодаря платформе node.js, и v8, который встроен во все хромоподобное.
4. Я щас ничего не понял, повтори. - Проще говоря, если ты не делаешь огромный интернет магазин, или хай лоад проект, то можешь смело использовать javascript и node.js.
5. А что еще прикольного можно сделать? - А еще есть MV фреймворки, angular, backbone, ember, knockout и другие, менее популярные.
6. Зачем оно надо? - Для создания SPA, в основном, но ты можешь копнуть глубже.
7. Очень уж много всяких фреймворков... Нельзя ли просто изучить jquery и писать все на нем? - Не стоит, можешь начать писать на жыквери, когда освоишь ванильный JS, дабы не испортить себе восприятие языка, и вбудущем не испытывать трудностей с изучением сложных фреймворков.
8. Ну ладно, с чего начать изучение то? - Дальше я приложу список материалов для изучения.
Учим JS:
Книги: Дэвид Фленеган - "JavaScript: Подробное руководство"
Дуглас Крокфорд "JavaScript: сильные стороны"
Стефанов С. - "JavaScript. Шаблоны"
Джон Резиг - "Секреты JavaScript ниндзя"
Николас Закас - "JavaScript. Оптимизация производительности"
М. Кантелон , М. Хартер - "Node.js в действии"
Кирилл Сухов - "Node.js. Путеводитель по технологии"
Эдди Османи - "Разработка Backbone.js приложений"
Dr. Axel Rauschmayer - "Speaking JavaScript: An In-Depth Guide for Programmers" - Одна из лучших книг по JS. Пока только на английском. http://speakingjs.com/
Marijn Haverbeke - "Eloquent Javascript" - Вводная книга по JavaScript и программирование в целом. Перевод на хабре: http://habrahabr.ru/post/240219/ На английском :http://eloquentjavascript.net/
Онлайн сообщества:
http://learn.javascript.ru/ - оно одно, единственное. Начинать учить язык советую отсюда, потом переходить уже к книгам.
http://www.jstherightway.org/ - Огромный гайд составленный буржуями. Есть книги, статьи и всё-всё-всё.
Бложики и новостные ленты:
http://dailyjs.com/ - DailyJS
http://weblog.bocoup.com/ - Bocoup Weblog
http://perfectionkills.com/ - Perfection Kills
http://www.reddit.com/r/javascript - subreddit на reddit.com
http://toddmotto.com/ - Todd Motto, Lead front-end @appsbroker. Developer Expert @google.
Онлайн курсы:
Как же можно учить язык, только читая книжонки? Нужна практика, и только так изучаемое усваивается, не иначе.
CodeSchool - http://codeschool.com/ Отличный ресурс для изучения языка, очень много курсов по всем передовым технологиям.
CodeAcademy - http://www.codecademy.com/ Уже не такой сильный, но все еще интересный проект, так же маст хев для набивания скилла.
Udacity - https://www.udacity.com/course/ud015 Дает хорошее представляение о замыканиях.
Выучил основы, написал свою пузырьковую сортировку и змейку? Не знаешь как двигаться дальше?
Почитай теперь это - https://shamansir.github.io/JavaScript-Garden/
А потом? Я и так уже гений!!!
Выбери себе направление. Может, ты хочешь игори делать? Тогда вперед на гитхаб, и ищи phaser, pixi и другое, выбор не маленький. Хочешь на сервер сайд, на самой хипстерской технологии? Копай в сторону node, express, socket io. Хочешь писать MVC логику? Angular, backbone, да множество их. Нельзя забывать про NW.js, позволяющий создавать десктопные приложения.