Это копия, сохраненная 5 июня 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Ньюфагам:
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: Подробное руководство" - маст хев, книга, которую будешь читать не раз. (Читать 6-е издание).
Дуглас Крокфорд "JavaScript: сильные стороны" - просто хорошая книга.
Стефанов С. - "JavaScript. Шаблоны"
Джон Резиг - "Секреты JavaScript ниндзя"
Николас Закас - "JavaScript. Оптимизация производительности"
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, позволяющий создавать десктопные приложения.
Первая порватка в треди.
Почему бы не запилить полноценный тредж фронтэнджщиков?
С описаниями библиотек и фреймворками для всех платформ?
Скобочкобляди пытаются обосрать самые читабельные языки - питон и руби, вот потеха. Анонимную функцию({в колбэке({ уже вызвал? })). Скобочки проверил? };));});)
Добавьте в шапку codewars, годнота. И еще, "Eloquent Javascript" лежит на гитбуксе полностью на русском, можно в пдф выкачать.
Скобочки читабельнее;)});)});)})));};}))
>ES6
ентерпраиз-скрипт?
Массив я создать могу. А вот вывести чекбоксы затрудняюсь. Это же создание эелементов динамически? Создать параграф как в примере получается, даже чекбокс, а вот подписать лейбл и вообще сдвинуться чуть дальше уже нет.
>торжества научно-технической мысли
>наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам
Обоссал.
Чому у меня не работает следующая angular-прилага:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
\t<script href="resources/js/predefined/angular.js"></script>
\t<script type="text/javascript">
\t\tvar app = angular.module('myApp', []);
\t\tapp.controller("MyCtrl", function($scope) {
\t\t\t$scope.name = "World";
\t\t});
\t</script>
</head>
<body ng-controller="MyCtrl">
\t<p>Hello, {{ name }}</p>
</body>
</html>
PS объявление ангулар модуля и контроллер вынес в <script> из файла для лучшего представления тут.
Как хочешь.
Гугли canvas (fabric.js, paper.js и т.д.)
http://plnkr.co/edit/7dWDc2P7oWm4xYo7QS7V?p=preview
Спрашивай, если что непонятно. Писать комментарии я поленился
Ок. Спасибо, на тебя вся надежда. Вчера ковырялся, то ли цикл бесконечный становился, то ли еще что-то но у меня в определенный момент страница переставала реагировать на мои действия, я даже код не мог выделить и сохранить, приходилось закрывать вкладку.
Круто, спасибо большое. Только я по ангуляровски не очень понимаю, но сейчас прочитаю какой-то ученик на хабре. А как сделать, чтобы не в параграф выводились слова, а в TextArea? Сам потыкал, только новые инпуты создаются.
Что, простите? Как ты собираешься передавать в функцию что-нибудь не используя параметры? Через глобальные переменные?
Не знаю. Есть ли где-нибудь учебник для ультрадаунов? Чтоб каждый символ был помечен и детально разжевывалось, что он означает? Или просто руководство Фленагана последовательно читать, а не рывками?
http://plnkr.co/edit/7dWDc2P7oWm4xYo7QS7V?p=preview
Каждый раз, когда ты кликаешь по чекбоксу, вызывается функция, которая проходится по массиву, выбирает названия отмеченных пунктов и собирает их в строку.
На самом деле, ангуляр очень сложный для изучения, поэтому если не сможешь разобраться - дропай и начни с jquery. Гораздо больше придется писать, но хотя бы проще и понятнее. Потом вернешься к ангуляру, если захочешь.
>>463331
Представь, что твоя функция выполняет какую-то определенную задачу и не может знать о каких-то там глобальных переменных. Всё, что ей нужно знать для выполнения своей задачи, ты передаешь в качестве параметров. Ты, конечно, можешь использовать переменные, объявленные где-то выше, но рано или поздно наткнешься на какие-нибудь конфликты имен, например.
Спасибо, твоему великодушию нет границ. Используя jquery тоже можно десктопные приложения писать?
Да, можешь использовать всё, что доступно в вебе. NW.js это по сути браузер без всего лишнего насколько я понимаю
Как будут выглядеть html и js коды, если сделать тот же список продуктов с помощью jquery?
Просто некоторые вещи нужно будет делать вручную. Обновление списка, например.
Ты вообще сама(а)-то в курсе, что параметры - это именованные ссылки на ячейки массива arguments ? Ну и что можно их не прописывать вовсе, а передавать - что заблагорассудится ?
Как сделать, чтобы отмеченные галочками продукты появились в форме? Каким-то образом сложить их имена и добавить в атрибут value элемента textarea?
Сорри бро, но чекбоксы встроены в браузер, они вне ДОМа, так что jquery их не достанет. Это лонг-стэндинг бан в вебе, так что терпи, братишка.
Если ты задумал делать десктопное приложение на js и не хочешь сам решить такой простой вопрос, то тебе стоит придумать себе другое занятие. Серьезно, тут максимум три часа посидеть, почитать пару туториалов по jquery. Я вот сейчас одним запросом в гугле перешел по первой же ссылке на stack overflow и получил готвый ответ с кодом.
Если хочешь продолжать, придется много гуглить, читать, не понимать, снова гуглить и читать. И так до просветления.
Я же не сижу и жду ваших ответов, а гуглю, у меня открыто три окна хрома, в каждом по 10-15 вкладок, а уже не помню, зачем мне половина из них, но ответы потихоньку нахожу. Я не против посидеть и разобраться, но ситуация такова, что сегодня мне лучше как можно скорее всё сделать, потому что крайний срок уже завтра, то есть через несколько часов. Можешь хотя бы ссылку скинуть, что ты там нашел или по каким запросам искал?
Выводи каждое промежуточное значение в консоль и смотри что получаешь, и выбирай что там тебе нужно.
Так бы сразу и сказал, что срочно.
http://jsfiddle.net/LfjSG/771/
Правда сомневаюсь, что ты все это за несколько часов сделаешь.
http://plnkr.co/edit/FNrWTIRxD1ThooRhN4DI?p=preview
Почему у меня не работает? Ты был прав, я не успею. Ладно, это было не так важно.
Функционал такой: отмечаешь нужные продукты и они появляются в форме, чекбоксы можно добавлять и удалять, также есть готовые списки, которые тоже можно редактировать. При закрытии программы все изменения сохраняются.
Захотел серьезно обмазаться js, всякие там мелкоправки кода и прочее появление элементов делал, но хочу изучить клиентский js по-настоящему, епта. Ну и решил сделать слайдер, минималистичный, но не глучащий и адаптивный. Нашел хороший пример и нихуя не понимаю, там такие тонны кода и он не очевидный нихуя, мне бексайд на незнакомом языке понятней, блдаж. Норма ли это? Понимаю, что нужно найти что-то сильно попроще, но хотел сразу понимать как делать четко, дерзко. А то в совсем простых скриптах чето вечно не так, и, хуйзнает, как делать, чтоб было так. В общем, люди, которые говорят, что они знают js, для них нет проблемы врубиться в тонну кода этой йобы http://www.jssor.com/? И они могут так же? Или подобные скрипты пишут какие-то монахи полубоги, а знание клиентского Js предполагает мочь на сопли и изоленту говно прикрутить?
Это оче сложная йоба. Не то что бы нереальная, но работы много. И правильные плагины ещё нужно подобрать. Начни с чего-нибудь попроще. Например, с задачи про мышей.
Вот поставлю я Грунт, плагинов к нему, Мочу, Линт, Лесс, ещё что-нибудь, зависимости к этому - и у меня уже несколько десятков пакетов сомнительного происхождения. Я уже не говорю, что всё это ставится в обход системного пакетного менеджера, что вообще немыслимо.
Как с этим жить? Пока придумал только ставить на виртуальную машину, копировать туда проект через локальную сеть, выполнять все преобразования там и переносить результаты обратно. Но это же пиздец.
Как вы делаете?
Я вот тоже задаюсь этим вопросом, хотя и не параною настолько. Серьезно, open source сообщество heartbleed проморгало, почему никто не догадался в какой-нибудь не очень распространённый пакет добавить что-нибудь этакое ?
Кто нибуь пробовал ionic? Как оно с точки зрения кастомизации? Можно ли сделать произвольный UI?
Оболочка для запуска твоего HTML и прилагающихся вещей, плюс API для работы с телефоном. Я с ним почти не работал, но была задача перенести имеющееся angular приложение на телефоны. Собственно, удалил всё, что он сгенерировал и заменил. Всё работает почти всё
Работал, вроде годно. Даже припердолил плагин шаринга от кордовы
Я пишу в NPM. По два пакета в день получается. Всё норм, используй ещё. Продолжай использовать. И я буду продолжать. Мы здесь все. Мы здесь всё. Хартблид не помеха.
Чем язык проще, тем код на нем становится сложнее, и сильно зависит от того, кто на нем пишет. Например, Javascript и лисп — простые языки. Код на них очень индивидуален в зависимости от подходов и автора.
А еще я проигрываю с сотен статей и руководств, как юзать npm без sudo в духе: sudo chown -R user /usr/bin
Пошарился по их сайту, наткнулся на всплывающее окно - теперь нет ни малейшего сомнения, это говно использовать нельзя.
Что и куда в него дописать, чтобы ссылка открывалась в новой вкладке? Спасибо заранее.
document.write('<a href=\"' + url + '\" target=\"_blank\">');
Я ответил через 8 часов, а ты заметил только через день. Да, актуально.
А так же поднять свой гитхаб, свою почту итд итп. Спасибо, но я эту хуйню уже проходил лет 10 назад и больше этим заниматься не намерен.
Почему ? Я правда не понимать. У нас свой гитлаб поднят, мы совсем аутисты ?
Каждый решает сам. Холивары на эту тему ведутся годами. Если ты считаешь, что поддержка гитлаба, его резервирование итд итп стоят меньше 25 долларов в месяц или сколько там сейчас платный тариф я уже не помню — то флаг вам в руки.
Двачую, просто заплатить людям, которые конкретно этим занимаются постоянно - обычно тупо дешевле выходит.
Скриптач выручай.
Необходимо создать PopUp, его я создал.
Необходимо настроить его параметры: ширина 13% от ширины браузера, а высота 2,5 высоты, например.
Как такое сделать?
В css есть убер вещь - vw и wh, но в мобильных браузерах оно не реализовано.
очевидно зависит от уровня необходимоб секурности в твоей конторе
>А где джаваскрипт тред?
http://2ch.hk/pr/res/462898.html
Вот он.
Ответил ли я на ваши вопросы своевременно и в уважительной форме?
>2. Это чтобы менять цвета, и вызывать всякие всплывающие окна? - Это только малая часть того, что может язык. Сейчас, на JS можно делать игры (phaser, cocos, etc.), 3D графику (three.js), можно делать и приложения для телефонов(phonegap, ionic), можно делать десктоп приложения(node-webkit).
Давайте будем честными и скажем, что все это не кому не нужная хуйня. И да, это JS - это
>чтобы менять цвета, и вызывать всякие всплывающие окна
Какая разница? В большинстве случаев, то за что платят деньги это скучная хуйня
Лол, мимо
вот моё решение https://jsfiddle.net/6pa4v7ow/
но проверку оно пройти не в состоянии. Кроме шуток-третий день ебусь с этой задачей. чё блеать ему надо от меня ещё? ЧЯДНТ?
почитал. не понял как это использовать применительно к моей задачи.сорри, походу от меня чтото ускользает
попробовал решить через прототипы
https://jsfiddle.net/6pa4v7ow/1/
результат тот же. ошибки выдает теже.
А вот на этом месте я сам застрял и полез смотреть в ответ. Там по условию задачи нужно, что бы у тебя твой неймспейс не переопределялся, если он уже существует. Нужно сделать так:
Namespace = Namespace || {};
С какой целью интересуешься ?
function PopUpShow(){
\tvar message ='"' + $(window).height()/2 +'px"'; // 544.5px
\tpopup.style.width = '"'+$(window).height()/2 +'px"'
\tpopup.style.width = "544.5px"
$("#popup1").show();
}
Почему popup.style.width = "544.5px" работает, а popup.style.width = '"'+$(window).height()/2 +'px"' нет?
Ну ты сам подумай логически.
Посмотри, чему во втором случаее равняется строка - ""544 px"", т.е. значению в кавычках, а они не нужны
Или подскажите что читнуть на тему кликера. Спасибо.
Скажи хоть в какую сторону гуглить. Надо просто вычленить из этого html саму ссылку, так-то вроде уже понял что к чему.
Какой курсор? Какой, блять, кликер? Мне в ЖС надо, а не вайн ставить ради твоего кликера.
ну тогда не знаю
спасибо, братан, буду пробовать
Господа, нужно написать на AngularJS + ionic одну вещь. А я его совсем не знаю, поэтому хелп.
Вещь следующая - изначально на экране несколько текстовых инпутов и кнопка сабмита.
При клике на кнопку идёт проверка - сколько инпутов имеют что-то внутри и сколько пустых.
После этого идёт переход на другую страницу, где появляются новые блоки, количество которых равно количеству заполненых инпутов на прошлой странице.
На js я бы просто сделал проверку на пустое значение value и присвоил бы пустым один класс, а заполненным другой класс. Считал бы кол-во заполненых, записывая число в переменную и потом опираясь на неё создавал бы новые блоки.
Как это реализовать на Angular + ionic? Времени его полностью изучать нету. Ещё и ионик перехватывает все события.
Поясните, что конкретно гуглить.
Спасибо.
Почему ты говоришь
>AngularJS + ionic
?
Ионик сам по себе предполагает ангуляр.
Сходи на сайт ионика, создай базовое приложение tabs и оттуда пляши. Что касается форм, то гугли доки ангуляра по формам, там все относительно просто. Я точно помню что ангуляр помечает инпуты, в которые ты что-то вводил, но вот помечает ли те где есть инфа, не помню.
>Ещё и ионик перехватывает все события.
Штоу? Вполне себе вешал по deviceready через addEventListener и ничего
Не пойду
Как мне сделать кроссдоменный запрос в своем asp.net приложении?
Через сервер.
А работает? Обычный $.getJSON() ошибку вызывает, потому что между разными доменами нельзя.
Там все чуть сложнее, я не очень силен в этом. Могу посоветовать еще копать в сторону CORS (Cross-origin resource sharing)
>Хули ты забыл в javascript-треде?
Ну это же ещё и объединённый фронт-энд тред.
>width: 100%
На что? Если поставить на боди, то оно выглядит, как на десктопе, то есть небольшой враппер посередине, а по краям ничего.
Нажми ф12 и посмотри как у них сделано, пидарас ебанный. Вообще съеби в верстка-тред. Это не релейт и не программирование.
У них там только
width: 740px;
margin: 30px auto;
У меня по сути также, но их сайт на мобильниках открывается враппером на весь экран, а у меня белые полосы по бокам.
Наверняка у них отдельные стили под разные разрешения. Забыл, как это называется, так что гугли сам
Это медиазапросы называется. Я их у них не вижу. Поищу ещё, но похоже их там нет.
У них там разные файлы стилей возвращаются для десктопной и мобильной версии. Правда не знаю, как это сделано
на бэкенде, вестимо
calc(100%-Xpx)
var a = +prompt("Быстро вводи число", 0);
var date = new Date();
var summ = 0;
var bin = [0];
for (var i=0; i<a; i++) {
bin[0]++;
if (bin[bin.length-1] == 1) bin[bin.length] = 0;
for (var j=0; j<bin.length; j++){
if (bin[j] == 2) bin[j+1]++, bin[j] = 0;
else break;
}
for (var k=0; k<bin.length; k++){
if (bin[k] == 1) summ++;
}
}
document.write("Количество двоичных единиц от 0 до " + a + " равно " + summ + "<br>");
document.write("Затрачено времени на расчет " + (new Date() - date) + " мс");
[/code]
это условие задачи, уж не обессудь. я тут и сам -жертва обстоятельств
Тебе нужно где-то сохранять значение счетчика до первого обращения к функции. Проще всего - как константу в коде функции.
https://jsfiddle.net/ankfb1o0/
спасибо большое, но данное решение не проходит последнюю проверку :
for (i = 0; i < 10; i++) {
Test.assertEquals(numbers.toString().replace(/[ \t\n;]/g, ''), 'function(){returni}');
}
Мотивирую это так : Expected: function(){returni}, instead got: functionanonymous(){return0}
Они определяют юзер-агент и подсовывают соответсвующие стили и разметку. Можешь посмотреть в веб-инспекторе хрома (иконка с мобильником, потом выбери девайс)
Какая же она все-таки страшная.
Вот у меня найденный код, заменяющий одни символы на другие:
var string = document.getElementById("test").innerHTML;
var replacedString = string.replace(/1/gi, "2");
document.getElementById("test").innerHTML = replacedString;
на jsfiddle.net работает как надо, а вот в мой html не проходит (и на w3schools.com в tryit editor тоже не работает).
Я так понимаю, надо еще что-то сделать чтобы он записался в html, только что - хз.
(Конечная цель - замена определенных символов в html-стрингах (если я правильно применяю это слово) с определенным id)
Ссылка на скрипт прописана в head? Тогда просто размести её в конце body, а то ты пытаешься найти элемент #test, который ещё не загрузился.
Покушать принёс. Неужели в порашке все настолько хуево, что уже 6-тилетних тимлидов держат у параши?
Вот зараза, в тестовом html сработало, а там где мне надо - нет.
Просто я шатаю тайниборд, и у меня там есть правило разметки, которое присваивает этот id типа
$config['markup'][] = array("/\[markup\](.+?)\[\/markup\]/m", "<span id=\"test\" style=\"font-weight: bold">$1</span>");
а скрипты не в самом html а грузятся, и 'возможно' это происходит до присвоения, ОДНАКО
вот этот скрипт (ставит фон текста и текст рандомного цвета)
http://www.dynamicdrive.com/dynamicindex17/contentcolors.htm
работает нормально через эти же правила разметки, только присваивая не id, а class
$config['markup'][] = array("/penis/", "<span class=\"randomcolor\">PENIS</span>");
И рандомные цвета нормально отображаются.
Это из-за того что он опирается на css, и первый скрипт таким макаром не заработает, или тут что-то другое?
Я нихуя не понял. Выложи хоть куда-то код. И зачем пользоваться отдельным скриптом для рандомизации цвета, если это легко написать самому?
Вот этот скрипт работает.
Кому-то может и легко, а я, как уже сказал, ничего в этом не понимаю, а готового решения через css не нашел.
Пиздц, что за говно? Нахуй ты разделяешь через двоеточие цвета а потом ебешься с этими двоеточиями?
Истину глаголишь, но не я это писал.
спасибо , бро! То что надо! я вокруг чегото подобного и крутился, только не додумался передать i в качестве аргумента анонимной самовызывающейся функции
Есть какой-нибудь сферический список хуиток, которые стоило бы реализовать чтобы лучше понять жабаскрипт? Что-то вроде заданий из похапе-треда. Встречал такие только по php и python.
Буду очень благодарен за наводку.
на первом занятии курсов по js нам препод дал такое задание
Doubly Linked List
Implement data structure "doubly linked list". It should be done as a stand-alone, independent component, which can be used wherever needed. D.L.L. should have the following methods (you can add your own methods, but the 9 listed below must be and named exactly as stated):
head (returns head of the list)
tail (returns tail of the list)
append (param: new data; add new item to the end of the list)
deleteAt (param: index; deletes item by index; error handling)
at (returns item by index; error handling)
insertAt (inserts item by index; new item should be placed at the specified index)
reverse (rearranges the list's items back-to-front)
each (param: function; applies specified function to each item of the list)
indexOF(param: item; return index of the specified item (first entry))
Some of the list's methods should be chainable.
var list = new List();
...
list.append(item1).append(item2).append(item3).deleteAt(2).reverse().at(0)
DON'T USE ARRAYS FOR STORING ITEMS INSIDE DDL!
Мне помогло понять некоторые вещи
Причём там можно заменить x на i и это тоже будет работать так как области видимости не пересекаются я так и делаю но для понимания лучше так не делать.
Ну без метода bind тебе дальше будет грустно. А так же без apply/call. Сильно рекомендую почитать про эту хуйню. Оно повсеместно используется.
Спроси в том же пхп треде задания по js, у них есть
<div id="container"></div>
<div id="containerMenu"></div>
В обработчиках нажатия элементов меню сделал React.render(<ContentClass />, document.getElementById("container"));
При нажатии в консоли вижу:
>ReactMount: Root element has been removed from its original container. New container:
И что-то зацикливается, причем явно не в моем коде. В чем дело? Как правильно обновлять содержимое контейнера в реакте?
<script type="text/javascript" language="JavaScript">// <![CDATA[
var res="2232433423";
function check_me()
{
var count=0;
with(document.test) {
if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked&&!Q1[3].checked)
{count+=1};
if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked&&!Q2[3].checked)
{count+=1};
if (!Q3[0].checked&&!Q3[1].checked&&!Q3[2].checked&&!Q3[3].checked)
{count+=1};
if (!Q4[0].checked&&!Q4[1].checked&&!Q4[2].checked&&!Q4[3].checked)
{count+=1};
if (!Q5[0].checked&&!Q5[1].checked&&!Q5[2].checked&&!Q5[3].checked)
{count+=1};
if (!Q6[0].checked&&!Q6[1].checked&&!Q6[2].checked&&!Q6[3].checked)
{count+=1};
if (!Q7[0].checked&&!Q7[1].checked&&!Q7[2].checked&&!Q7[3].checked)
{count+=1};
if (!Q8[0].checked&&!Q8[1].checked&&!Q8[2].checked&&!Q8[3].checked)
{count+=1};
if (!Q9[0].checked&&!Q9[1].checked&&!Q9[2].checked&&!Q9[3].checked)
{count+=1};
if (!Q10[0].checked&&!Q10[1].checked&&!Q10[2].checked&&!Q10[3].checked)
{count+=1};
if (count>0) alert("Вы выполнили не все задания. Проверьте себя!")
else answer();
}
}
function control(k, f1,f2,f3,f4,f5,f6,f7,f8,f9,f10) {
if (k==1&&f1.checked) return true;
if (k==2&&f2.checked) return true;
if (k==3&&f3.checked) return true;
if (k==4&&f4.checked) return true;
if (k==5&&f5.checked) return true;
if (k==6&&f6.checked) return true;
if (k==7&&f7.checked) return true;
if (k==8&&f8.checked) return true;
if (k==9&&f9.checked) return true;
if (k==10&&f10.checked) return true;
return false;
}
function answer() {
answ="";
with(document) {
answ+=control(res.charAt(0) ,test.Q1[0],test.Q1[1],test.Q1[2],test.Q1[3])?"1":"0";
answ+=control(res.charAt(1) ,test.Q2[0],test.Q2[1],test.Q2[2],test.Q2[3])?"1":"0";
answ+=control(res.charAt(2) ,test.Q3[0],test.Q3[1],test.Q3[2],test.Q3[3])?"1":"0";
answ+=control(res.charAt(3) ,test.Q4[0],test.Q4[1],test.Q4[2],test.Q4[3])?"1":"0";
answ+=control(res.charAt(4) ,test.Q5[0],test.Q5[1],test.Q5[2],test.Q5[3])?"1":"0";
answ+=control(res.charAt(5) ,test.Q6[0],test.Q6[1],test.Q6[2],test.Q6[3])?"1":"0";
answ+=control(res.charAt(6) ,test.Q7[0],test.Q7[1],test.Q7[2],test.Q7[3])?"1":"0";
answ+=control(res.charAt(7) ,test.Q8[0],test.Q8[1],test.Q8[2],test.Q8[3])?"1":"0";
answ+=control(res.charAt(8) ,test.Q9[0],test.Q9[1],test.Q9[2],test.Q9[3])?"1":"0";
answ+=control(res.charAt(9) ,test.Q10[0],test.Q10[1],test.Q10[2],test.Q10[3])?"1":"0";
showResult();
}
}
function showResult() {
var nok=0;
var i,s;
for (i=0; i<answ.length;i++) {nok+=answ.charAt(i)=="1"?1:0;}
if(nok==10) s="ОТЛИЧНО";
if(nok<10) s="ХОРОШО";
if(nok<7.5) s="УДОВЛЕТВОРИТЕЛЬНО";
if (nok<5) s="НЕУДОВЛЕТВОРИТЕЛЬНО";
document.test.s1.
value="Количество правильных ответов "+nok+". Ваша оценка "+s+". Посмотрите на окно рядом с номером вопроса. Если ответ правильный, там (+). Если ответ ошибочен, там (-).";
with(document.test)
{
if (answ.charAt(0)=="1") {T1.value=" + "} else {T1.value=" - "};
if (answ.charAt(1)=="1") {T2.value=" + "} else {T2.value=" - "};
if (answ.charAt(2)=="1") {T3.value=" + "} else {T3.value=" - "};
if (answ.charAt(3)=="1") {T4.value=" + "} else {T4.value=" - "};
if (answ.charAt(4)=="1") {T5.value=" + "} else {T5.value=" - "};
if (answ.charAt(5)=="1") {T6.value=" + "} else {T6.value=" - "};
if (answ.charAt(6)=="1") {T7.value=" + "} else {T7.value=" - "};
if (answ.charAt(7)=="1") {T8.value=" + "} else {T8.value=" - "};
if (answ.charAt(8)=="1") {T9.value=" + "} else {T9.value=" - "};
if (answ.charAt(9)=="1") {T10.value=" + "} else {T10.value=" - "};
}
}
function showhide(obj){
if(obj == 'none') return 'inline';
else return 'none';
}
// ]]>
</script>
<center><b>ТЕСТ ПО МЕХАНИКЕ</b></center><br/><br/>
<span style="color:#006699;text-decoration:underline;cursor:pointer;" onclick="document.getElementById('instruction').style.display = showhide(document.getElementById('instruction').style.display)">
Инструкция</span>
<br/>
<div id="instruction" style="display: none; width: 100%;">
<ul>
<li>Выберите один из вариантов в каждом из 10 вопросов;</li>
<li>Нажмите на кнопку "Показать результат";</li>
<li>Скрипт не покажет результат, пока Вы не ответите на все вопросы;</li>
<li>Загляните в окно рядом с номером задания. Если ответ правильный, то там (+). Если Вы ошиблись, там (-).</li>
<li>За каждый правильный ответ начисляется 1 балл;</li>
<li>Оценки: менее 5 баллов - НЕУДОВЛЕТВОРИТЕЛЬНО, от 5 но менее 7.5 - УДОВЛЕТВОРИТЕЛЬНО, 7.5 и менее 10 - ХОРОШО, 10 - ОТЛИЧНО;</li>
<li>Чтобы сбросить результат тестирования, нажать кнопку "Сбросить ответы";</li>
</ul>
</div>
<form name="test"><ol>
<li><INPUT type="text" size="1" value="" name="T1"/><b> Стенка движется со скоростью V. Навстречу ей со скоростью u движется шарик. С какой скоростью отскочит шарик в результате абсолютно упругого столкновения со стенкой:</b><br/>
<input type="radio" value="0" name="Q1"/> 2u + V<br />
<input type="radio" value="1" name="Q1"/> u + 2V<br />
<input type="radio" value="2" name="Q1"/> 2u + 2V<br />
<input type="radio" value="3" name="Q1"/> u + V<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T2"/><b> Человек переходит с одного конца лодки длины L на другой. На сколько сместится лодка относительно берега, если масса лодки равна массе человека:</b><br/>
<input type="radio" value="0" name="Q2"/> L<br />
<input type="radio" value="1" name="Q2"/> L/2<br />
<input type="radio" value="2" name="Q2"/> L/3<br />
<input type="radio" value="3" name="Q2"/> L/4<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T3"/><b> Космический корабль движется со скоростью V. Скорость истечения газов относительно корабля - u. Расход топлива - q. Какова сила тяги двигателя? </b><br/>
<input type="radio" value="0" name="Q3"/> q(u+V)<br />
<input type="radio" value="1" name="Q3"/> q(u-V)<br />
<input type="radio" value="2" name="Q3"/> qu<br />
<input type="radio" value="3" name="Q3"/> q(dV/dt)<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T4"/><b> Какое тело скатится с горки быстрее: полая сфера или шар.</b><br/>
<input type="radio" value="0" name="Q4"/> Полая сфера<br />
<input type="radio" value="1" name="Q4"/> Шар<br />
<input type="radio" value="2" name="Q4"/> Одинаково <br />
<input type="radio" value="3" name="Q4"/> Зависит от толщины стенки сферы<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T5"/><b> Какое из утверждений ниже является ложным:</b><br/>
<input type="radio" value="0" name="Q5"/> Гравитационное поле внутри полой сферы равно нулю.<br />
<input type="radio" value="1" name="Q5"/> Две сферы притягиваются друг к другу так, как если бы их массы были сосредоточены в центре сфер. <br />
<input type="radio" value="2" name="Q5"/> Если внутри однородного шара имеется сферическая полость, центр которой не совпадает с центром шара, то гравитационное поле внутри такой полости будет однородным.<br />
<input type="radio" value="3" name="Q5"/> Напряжённость гравитационного поля внутри сплошного шара квадратично зависит от расстояния до его центра.<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T6"/><b> Каков момент инерции кольца массы m и радиуса R относительно оси, лежащей в плоскости кольца и проходящей через его диаметр:</b><br/>
<input type="radio" value="0" name="Q6"/> mRR<br />
<input type="radio" value="1" name="Q6"/> 2mRR<br />
<input type="radio" value="2" name="Q6"/> mRR/2<br />
<input type="radio" value="3" name="Q6"/> mRR/4<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T7"/><b> Небольшой лёгкий шарик упруго ударяется о массивный неподвижный шар и отскакивает под углом 90° к направлению своего первоначального движения. Под каким углом к направлению начального движения лёгкого шарика будет двигаться массивный шар, если трения между шарами в момент удара нет?</b><br/>
<input type="radio" value="0" name="Q7"/> 0°<br />
<input type="radio" value="1" name="Q7"/> 90°<br />
<input type="radio" value="2" name="Q7"/> 45° <br />
<input type="radio" value="3" name="Q7"/> Тяжёлый шар не будет двигаться<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T8"/><b> Какое из утверждений ниже неправильное:</b><br/>
<input type="radio" value="0" name="Q8"/> Во всяком бегущем упругом возмущении полная энергия распределяется поровну между кинетической и потенциальной<br />
<input type="radio" value="1" name="Q8"/> Во всяком бегущем упругом возмущении плотность кинетической энергии в любой точке равна плотности потенциальной энергии<br />
<input type="radio" value="2" name="Q8"/> В стоячей волне переноса энергии не происходит и плотность кинетической энергии не совпадает с плотностью потенциальной энергии.<br />
<input type="radio" value="3" name="Q8"/> В бегущей синусоидальной волне средняя потенциальная энергия равна средней кинетической энергии, а колебания плотности кинетической и потенциальной энергии сдвинуты по фазе на ?/2.<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T9"/><b> mvv/2+P+rgh=const - это:</b><br/>
<input type="radio" value="0" name="Q9"/> Формула Пуазейля<br />
<input type="radio" value="1" name="Q9"/> Уравнение Бернулли<br />
<input type="radio" value="2" name="Q9"/> Формула Стокса<br />
<input type="radio" value="3" name="Q9"/> Формула Рейнольдса<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T10"/><b> Грузик массы m колеблется на пружине с амплитудой A и угловой частотой w. Какова максимальная скорость грузика?</b><br/>
<input type="radio" value="0" name="Q10"/> Aww<br />
<input type="radio" value="1" name="Q10"/> wwA/2<br />
<input type="radio" value="2" name="Q10"/> Aw<br />
<input type="radio" value="3" name="Q10"/> Aww*m<br />
<br/></li></ol>
<CENTER>
<P><TEXTAREA name="s1" rows="4" cols="70" readonly> </TEXTAREA> </P>
<INPUT onclick="check_me()" type="button" value="Показать результат"/>
<INPUT type="reset" value="Сбросить ответы"/>
</CENTER>
</form>
<script type="text/javascript" language="JavaScript">// <![CDATA[
var res="2232433423";
function check_me()
{
var count=0;
with(document.test) {
if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked&&!Q1[3].checked)
{count+=1};
if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked&&!Q2[3].checked)
{count+=1};
if (!Q3[0].checked&&!Q3[1].checked&&!Q3[2].checked&&!Q3[3].checked)
{count+=1};
if (!Q4[0].checked&&!Q4[1].checked&&!Q4[2].checked&&!Q4[3].checked)
{count+=1};
if (!Q5[0].checked&&!Q5[1].checked&&!Q5[2].checked&&!Q5[3].checked)
{count+=1};
if (!Q6[0].checked&&!Q6[1].checked&&!Q6[2].checked&&!Q6[3].checked)
{count+=1};
if (!Q7[0].checked&&!Q7[1].checked&&!Q7[2].checked&&!Q7[3].checked)
{count+=1};
if (!Q8[0].checked&&!Q8[1].checked&&!Q8[2].checked&&!Q8[3].checked)
{count+=1};
if (!Q9[0].checked&&!Q9[1].checked&&!Q9[2].checked&&!Q9[3].checked)
{count+=1};
if (!Q10[0].checked&&!Q10[1].checked&&!Q10[2].checked&&!Q10[3].checked)
{count+=1};
if (count>0) alert("Вы выполнили не все задания. Проверьте себя!")
else answer();
}
}
function control(k, f1,f2,f3,f4,f5,f6,f7,f8,f9,f10) {
if (k==1&&f1.checked) return true;
if (k==2&&f2.checked) return true;
if (k==3&&f3.checked) return true;
if (k==4&&f4.checked) return true;
if (k==5&&f5.checked) return true;
if (k==6&&f6.checked) return true;
if (k==7&&f7.checked) return true;
if (k==8&&f8.checked) return true;
if (k==9&&f9.checked) return true;
if (k==10&&f10.checked) return true;
return false;
}
function answer() {
answ="";
with(document) {
answ+=control(res.charAt(0) ,test.Q1[0],test.Q1[1],test.Q1[2],test.Q1[3])?"1":"0";
answ+=control(res.charAt(1) ,test.Q2[0],test.Q2[1],test.Q2[2],test.Q2[3])?"1":"0";
answ+=control(res.charAt(2) ,test.Q3[0],test.Q3[1],test.Q3[2],test.Q3[3])?"1":"0";
answ+=control(res.charAt(3) ,test.Q4[0],test.Q4[1],test.Q4[2],test.Q4[3])?"1":"0";
answ+=control(res.charAt(4) ,test.Q5[0],test.Q5[1],test.Q5[2],test.Q5[3])?"1":"0";
answ+=control(res.charAt(5) ,test.Q6[0],test.Q6[1],test.Q6[2],test.Q6[3])?"1":"0";
answ+=control(res.charAt(6) ,test.Q7[0],test.Q7[1],test.Q7[2],test.Q7[3])?"1":"0";
answ+=control(res.charAt(7) ,test.Q8[0],test.Q8[1],test.Q8[2],test.Q8[3])?"1":"0";
answ+=control(res.charAt(8) ,test.Q9[0],test.Q9[1],test.Q9[2],test.Q9[3])?"1":"0";
answ+=control(res.charAt(9) ,test.Q10[0],test.Q10[1],test.Q10[2],test.Q10[3])?"1":"0";
showResult();
}
}
function showResult() {
var nok=0;
var i,s;
for (i=0; i<answ.length;i++) {nok+=answ.charAt(i)=="1"?1:0;}
if(nok==10) s="ОТЛИЧНО";
if(nok<10) s="ХОРОШО";
if(nok<7.5) s="УДОВЛЕТВОРИТЕЛЬНО";
if (nok<5) s="НЕУДОВЛЕТВОРИТЕЛЬНО";
document.test.s1.
value="Количество правильных ответов "+nok+". Ваша оценка "+s+". Посмотрите на окно рядом с номером вопроса. Если ответ правильный, там (+). Если ответ ошибочен, там (-).";
with(document.test)
{
if (answ.charAt(0)=="1") {T1.value=" + "} else {T1.value=" - "};
if (answ.charAt(1)=="1") {T2.value=" + "} else {T2.value=" - "};
if (answ.charAt(2)=="1") {T3.value=" + "} else {T3.value=" - "};
if (answ.charAt(3)=="1") {T4.value=" + "} else {T4.value=" - "};
if (answ.charAt(4)=="1") {T5.value=" + "} else {T5.value=" - "};
if (answ.charAt(5)=="1") {T6.value=" + "} else {T6.value=" - "};
if (answ.charAt(6)=="1") {T7.value=" + "} else {T7.value=" - "};
if (answ.charAt(7)=="1") {T8.value=" + "} else {T8.value=" - "};
if (answ.charAt(8)=="1") {T9.value=" + "} else {T9.value=" - "};
if (answ.charAt(9)=="1") {T10.value=" + "} else {T10.value=" - "};
}
}
function showhide(obj){
if(obj == 'none') return 'inline';
else return 'none';
}
// ]]>
</script>
<center><b>ТЕСТ ПО МЕХАНИКЕ</b></center><br/><br/>
<span style="color:#006699;text-decoration:underline;cursor:pointer;" onclick="document.getElementById('instruction').style.display = showhide(document.getElementById('instruction').style.display)">
Инструкция</span>
<br/>
<div id="instruction" style="display: none; width: 100%;">
<ul>
<li>Выберите один из вариантов в каждом из 10 вопросов;</li>
<li>Нажмите на кнопку "Показать результат";</li>
<li>Скрипт не покажет результат, пока Вы не ответите на все вопросы;</li>
<li>Загляните в окно рядом с номером задания. Если ответ правильный, то там (+). Если Вы ошиблись, там (-).</li>
<li>За каждый правильный ответ начисляется 1 балл;</li>
<li>Оценки: менее 5 баллов - НЕУДОВЛЕТВОРИТЕЛЬНО, от 5 но менее 7.5 - УДОВЛЕТВОРИТЕЛЬНО, 7.5 и менее 10 - ХОРОШО, 10 - ОТЛИЧНО;</li>
<li>Чтобы сбросить результат тестирования, нажать кнопку "Сбросить ответы";</li>
</ul>
</div>
<form name="test"><ol>
<li><INPUT type="text" size="1" value="" name="T1"/><b> Стенка движется со скоростью V. Навстречу ей со скоростью u движется шарик. С какой скоростью отскочит шарик в результате абсолютно упругого столкновения со стенкой:</b><br/>
<input type="radio" value="0" name="Q1"/> 2u + V<br />
<input type="radio" value="1" name="Q1"/> u + 2V<br />
<input type="radio" value="2" name="Q1"/> 2u + 2V<br />
<input type="radio" value="3" name="Q1"/> u + V<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T2"/><b> Человек переходит с одного конца лодки длины L на другой. На сколько сместится лодка относительно берега, если масса лодки равна массе человека:</b><br/>
<input type="radio" value="0" name="Q2"/> L<br />
<input type="radio" value="1" name="Q2"/> L/2<br />
<input type="radio" value="2" name="Q2"/> L/3<br />
<input type="radio" value="3" name="Q2"/> L/4<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T3"/><b> Космический корабль движется со скоростью V. Скорость истечения газов относительно корабля - u. Расход топлива - q. Какова сила тяги двигателя? </b><br/>
<input type="radio" value="0" name="Q3"/> q(u+V)<br />
<input type="radio" value="1" name="Q3"/> q(u-V)<br />
<input type="radio" value="2" name="Q3"/> qu<br />
<input type="radio" value="3" name="Q3"/> q(dV/dt)<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T4"/><b> Какое тело скатится с горки быстрее: полая сфера или шар.</b><br/>
<input type="radio" value="0" name="Q4"/> Полая сфера<br />
<input type="radio" value="1" name="Q4"/> Шар<br />
<input type="radio" value="2" name="Q4"/> Одинаково <br />
<input type="radio" value="3" name="Q4"/> Зависит от толщины стенки сферы<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T5"/><b> Какое из утверждений ниже является ложным:</b><br/>
<input type="radio" value="0" name="Q5"/> Гравитационное поле внутри полой сферы равно нулю.<br />
<input type="radio" value="1" name="Q5"/> Две сферы притягиваются друг к другу так, как если бы их массы были сосредоточены в центре сфер. <br />
<input type="radio" value="2" name="Q5"/> Если внутри однородного шара имеется сферическая полость, центр которой не совпадает с центром шара, то гравитационное поле внутри такой полости будет однородным.<br />
<input type="radio" value="3" name="Q5"/> Напряжённость гравитационного поля внутри сплошного шара квадратично зависит от расстояния до его центра.<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T6"/><b> Каков момент инерции кольца массы m и радиуса R относительно оси, лежащей в плоскости кольца и проходящей через его диаметр:</b><br/>
<input type="radio" value="0" name="Q6"/> mRR<br />
<input type="radio" value="1" name="Q6"/> 2mRR<br />
<input type="radio" value="2" name="Q6"/> mRR/2<br />
<input type="radio" value="3" name="Q6"/> mRR/4<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T7"/><b> Небольшой лёгкий шарик упруго ударяется о массивный неподвижный шар и отскакивает под углом 90° к направлению своего первоначального движения. Под каким углом к направлению начального движения лёгкого шарика будет двигаться массивный шар, если трения между шарами в момент удара нет?</b><br/>
<input type="radio" value="0" name="Q7"/> 0°<br />
<input type="radio" value="1" name="Q7"/> 90°<br />
<input type="radio" value="2" name="Q7"/> 45° <br />
<input type="radio" value="3" name="Q7"/> Тяжёлый шар не будет двигаться<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T8"/><b> Какое из утверждений ниже неправильное:</b><br/>
<input type="radio" value="0" name="Q8"/> Во всяком бегущем упругом возмущении полная энергия распределяется поровну между кинетической и потенциальной<br />
<input type="radio" value="1" name="Q8"/> Во всяком бегущем упругом возмущении плотность кинетической энергии в любой точке равна плотности потенциальной энергии<br />
<input type="radio" value="2" name="Q8"/> В стоячей волне переноса энергии не происходит и плотность кинетической энергии не совпадает с плотностью потенциальной энергии.<br />
<input type="radio" value="3" name="Q8"/> В бегущей синусоидальной волне средняя потенциальная энергия равна средней кинетической энергии, а колебания плотности кинетической и потенциальной энергии сдвинуты по фазе на ?/2.<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T9"/><b> mvv/2+P+rgh=const - это:</b><br/>
<input type="radio" value="0" name="Q9"/> Формула Пуазейля<br />
<input type="radio" value="1" name="Q9"/> Уравнение Бернулли<br />
<input type="radio" value="2" name="Q9"/> Формула Стокса<br />
<input type="radio" value="3" name="Q9"/> Формула Рейнольдса<br />
<br/></li><li><INPUT type="text" size="1" value="" name="T10"/><b> Грузик массы m колеблется на пружине с амплитудой A и угловой частотой w. Какова максимальная скорость грузика?</b><br/>
<input type="radio" value="0" name="Q10"/> Aww<br />
<input type="radio" value="1" name="Q10"/> wwA/2<br />
<input type="radio" value="2" name="Q10"/> Aw<br />
<input type="radio" value="3" name="Q10"/> Aww*m<br />
<br/></li></ol>
<CENTER>
<P><TEXTAREA name="s1" rows="4" cols="70" readonly> </TEXTAREA> </P>
<INPUT onclick="check_me()" type="button" value="Показать результат"/>
<INPUT type="reset" value="Сбросить ответы"/>
</CENTER>
</form>
Короче хочу получать json, вытаскивать по id шаблон из дома, и накладывать json на шаблон.
Мне он удобен.
Гугли, был какойто сайтик с шаблонизаторами клиенсткими, типа кликаешь какие нужны фичи, шаблонизаторы сортируются
Да иди ты нахуй, шаблонизаторы в 2015 году обсуждать, сколько можно-то уже.
Если нужен logic-less шаблонизатор - то mustache/hogan, если что-то поумнее - то handlebars, если нужна логика в шаблонах - то dustjs или nunjucks.
>ReactMount: Root element has been removed from its original container
Сделай пример, из того что ты говоришь непонятно почему так.
Возможно где-то происходит модификация дом-элементов в контейнере.
Ещё другой вопрос такой возникает, что тебе мешает сделать это Menu тоже компонентом реакта?
Суть совета в том, что тебе надо пойти нахуй.
Если совет поможет тебе пойти нахуй, то всем станет лучше.
Потому что ты выложил в посте кучу своего говнокода, который не форматирован и который невозможно здесь запустить, и при это ты просишь помощи. А еще приходится тебе это объяснять.
>> 466551
http://garann.github.io/template-chooser/
алсо React, если нужна производительность
Handlebars - самый распространенный
>nw.js
Ебать, как я только жил без этого раньше?!
впервые зашёл в раздел
Алсо, меня очень тянут в ExtJS, но я не уверен что это, так сказать , лучшее из возможного.
Гугли offset
Гугли offset
>Сейчас, на JS можно делать игры (phaser, cocos, etc.)
Это говно смехотворно.
>3D графику (three.js)
3D-графику не сложнее хеллоуворлдного кубика, всё остальное тормозит.
>можно делать десктоп приложения(node-webkit)
Охуенные десктоп-приложения. Можно было ещё 10 лет назад такие делать на IE 6.0 встроенном через COM. А про QML ОП не знает.
Нужно что-то вроде
function checkIp(string) {
if (...) return true;
else return false
}
Самый популярный россиянский ресурс, а что ты хотел? Без идиотов - гугли туториалы и книги энглиш онли.
Ну си-сообщество более интеллектуально выглядит, несмотря на обилие студентов. А тут сложилось впечатление что каждая бабка и школьник в веб подались. По туториалам учить сложнее - надо чтобы кто-нибудь акценты расставил.
{"type":"channel_counters","data":{"channel_id":"5457","clients_in_channel":"668","users_in_channel":233}}
Мне нужно вывести только значение users_in_channel.
Не всю шляпу, а только users_in_channel.
[CODE]
socket.onmessage = function(event) {
console.log("Ответ: " + event.data);
//document.getElementById("sock-info").innerHTML += (event.data+"<br />");
};
[/CODE]
event.data - выводит весь текст что приходит с сервера, а мне такое не нужно. Нужно только например users_in_channel. Алсо console.log(event.data[9]); Не работает - выводит какие-то куски по 1 букве.
json
event.data.users_in_channel
1)Зачем пустые скобочки в самом конце
2)defaults: function - что это за дефолтс и двоеточие? Подскажи, няша.
var lodash = (function() {
var version;
function assignDefaults() { ... }
return {
defaults: function() { }
}
})();
какое мерзкое ебало
1. () вызывают только что объявленную анонимную ф-ю
var a = (function() { return 23; })();
поместит в a значение 23.
2. обычный литерал объекта
{ name: 'DIMONCHIK' }
а у тебя
{ defaults: function() }
Dropbox пробовал и гугловые кажется фьюжен тейблс или как-то так. Читай мануал да делай.
Ну так я же не говорил, что я учу/учил/читал жс.
Почитал, Dropbox закрыли свой API, т.к. он не пользовался достаточной популярностью. Google не хотелось бы, но видимо придется. Когда последний раз изучал их документацию, готов был выебать каждого ржавой кочергой.
Спасибо. А есть какие-то примеры приложений, которые используют что-то из такого рода синхронизаций ? И есть ли какие-то альтернативы таким сервисам ?
Прочитай еще раз. Дропбокс закрыл старый АПИ тому что открыли новый, более удобный для разрабов.
все таки я в глаза ебусь
Ткни, пожалуйста, где это написано ? Я второй раз перечитал, что они закрывают Datastore API и помогают существующим приложениям мигрировать на альтернативы. Core API позволяет создавать файлы и всё такое, но это, насколько я понимаю, немного не то
[CODE]
var url = messegetext;
var videoid = url.match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);
if(videoid != null) {
console.log("video id = ",videoid[1]);
} else {
console.log("The youtube url is not valid.");
}
[/CODE]
Так вот как вставить videoid в html код страницы
[CODE]
<iframe width="100" height="100" src="https://www.youtube.com/embed/ МЕСТО VIDEOID ?autoplay=1" frameborder="0" allowfullscreen></iframe>
[/CODE]
Я знаю только document.getElementById() или же хуярить скрипт прямо в .html документе, а как из стороннего вставить, еще и без классов чет вообще в душе не ебу как. На пхп с этим проще.
Я думал есть какой-то другой метод просто. Сделал через document.getElementById(). Но это какой-то костыль ебучий, не?
Только еще проблема - автоплей ютуба не работает.
Почему автоплей ютуба не работает? Через document.getElementById().innerHTML
Форич уже написал?
Ты какой-то ебанутый. Уебывай
Десктопный нод - это же ебучий браузер, нахуя заебы с мплеером если можно играть видео как в браузере?
Пытаться сэкономить на поддержке, переезжая на скрипты, и при этом обрести еблю с самостоятельной сборкой - это какая-то сомнительная выгода.
То, что ты выбрал nw уже само по себе та еще ебля и забивание гвоздей микроскопом, скрипт там, скрипт тут врядли что-то изменит.
>запустить mplayer в слейв-моде
Ты не подумал, что в ноде есть какой-то стандартный способ апуска дочерних процессов?
Подсказка - он есть, модуль child_process, функция spawn()
Суть не в слейв-моде, а в прихуяривании рендера мплеера к вебкиту. Так-то запустить дочерний прочесс и контролить его кнопочками вообще не проблема, а вот сделать так, чтобы видео игралось не в соседнем окне, а в нужном тебе, да еще и прицепилось к нужному DOM-узлу (а иначе нахуй вообще вся эта канитель), вот это уже да, трабла, за ней я сюда и пришел.
Спасибо, подумаю в этом направлении
Как это сделать на angular?
Я хочу добавить в prototype несколько функций.
Не хочется писать так:
HTMLElement.prototype.addClass = function () {
//код
};
HTMLElement.prototype.removeClass = function () {
//ещё код
};
HTMLElement.prototype.toggleClass = function () {
//код
};
Может есть вариант(уверен что есть) как-то по-красивши, по-лаконичнее это оформить?
>Может есть вариант(уверен что есть) как-то по-красивши, по-лаконичнее это оформить?
Да, <script src="jquery.js"></script>
http://stackoverflow.com/questions/979975/how-to-get-the-value-from-the-url-parameter
Или вот. Я просто нихуя не понял, что ты пытаешься спросить.
Тебе блядь видимо мозг использовать нельзя, вот ты и занимаешься какой-то хуйнёй.
братан, это препод задал такую хуету-написать свою урезанную версию jQuery. я может не очень корректно мысли свои выражать умею, ну уж прости
А, вот про это я забыл. Так годно
http://jsbin.com/holuwozimi/1/ хз как этим пользоваться, не смог библиотеку подключить
Есть еще годная https://github.com/openpgpjs/openpgpjs, но я и ее не смог осилить. Может с ней получится помочь? http://jsbin.com/vilecifita/1/ В логах мне писал "[Log] Error generating keypair using native WebCrypto... falling back back to js! (openpgp.js, line 12422)"
Идёшь на NPM > ищешь необходимую тебе БД > профит.
Вот пример: https://www.npmjs.com/package/mysql
Чет непонятно нихуя, не могу сходу въехать в эту либу. Еще и cdn не нашел
Пишу диплом, дожлна на выходе получиться секьюрная почта, во многом аналог proton mail, на вике есть статья про этот сервис.
>>469843
я подебажил вторую либу (openpgpjs), ключи создаются, но после выполнения generateKeyPair(), то что после then() не выполняется.
openpgp.generateKeyPair(options).then(function (keypair) {
// success
var privkey = keypair.privateKeyArmored;
var pubkey = keypair.publicKeyArmored;
console.log('success');
}).catch(function (error) {
console.log('error');
});
content delivery network
Нет, все таки ключи не создаются. Проглядел ночью, но и в логи ничего не пишет.
Проверил сейчас на работе, firefox 37.0.2, согласно http://caniuse.com/#feat=promises они есть, эффект тот же.
Псевдоговнокод
.get('user', function (req, res) {
db.get("users", req.params.id, function (err, user) {
if (err) {
res.send(400)
} else {
res.send(200);
}
})
})
Я думаю, суть он уловил. А дальше уже пусть сам переходит на промисы, iced coffee и прочее, если нужно
Хочешь банан?
Гоняю свою чёрную коробку, но она перемещается отрывисто, а я хочу добиться плавности.
Код таков.
blackbox.run = function(where) {
if (where === 'left') {
\t\t\tblackbox.positionX-=10;
\t\t\t$('.myChar').animate({
\t\t\t\t\t\t'left' : blackbox.positionX}, 00);
\t\t}
\t\tif (where === 'right') {
\t\t\tblackbox.positionX+=10;
\t\t\t$('.myChar').animate({
\t\t\t\t\t'left' : blackbox.positionX}, 00);
\t\t}
}
В чём загвоздка? Ящитаю, что нужно обеспечить плавное, но в то же время и быстрое изменение переменной, но подходящего метода не нашел.
pastebin.com
ideone.com
also,
>Тег [code] работает через жабаскрипт-костыль: https://github.com/ololoepepe/MakabaCode
- в $scope.content подгружается HTML
- в контенте ищется определенный элемент и экран скролится до позиции этого элемента.
Проблема в том, что я никак не могу добиться того, что бы поиск элемента происходит ПОСЛЕ того, как контент отрендерится. Это просто пиздец, сижу уже хуй знает сколько. $viewContentLoading и $stateChangeSuccess срабатывает до того, как контент загрузится.
Как можно обойти данное поведение ? Пока что в голову приходит только $timeout, но это максимум уебищно
> 00
штоу?
Посмотри внимательнее
http://api.jquery.com/animate/
[code]
$(element).animate({
left: finalValueOfPixels
}, 300);
[/code]
Помогите пожалуйста. Какая-то шляпа с аяксом. Запрос есть и вроде бы отправляется(фф в логах пишет, что запрос был), но у него время 0мс и на сервере ничего не отрабатывает, ответа на запрос нет. (сервер запросы принимает, проверил утилитой). Что может быть?
> success: console.log('success')
Ты присвоил свойству результат выполнения функции console.log, а надо присвоить функцию, которая потом будет вызвана
> success: function () {console.log('ssuuccess');}
Ой, я случайно все засагал.
А какой ответ-то? Судя по коду ты только в соснольку печатаешь что-то, или в жабе так с сервера отправляют ответ?
Если я выполняю запрос вида http://pastebin.com/DpFua48k
Как мне во время алерта дождаться выполнение запроса.
Первый раз алерт выскакивает пустой, а второй раз с предыдущей инфой.
Гугл головрт про async: false, но не помогает.
Может кто объяснить?
Ответа нет. Метод в жаве все равно не выполняется.
пост запрос с помощью плагина http requester для фф отправился и метод на сервере выполнился и ответ на запрос пришел.
Через resolve мне как раз контент и возвращается. Разве через него можно сделать скрол до элемента ? Он же вроде только данные подтянуть/вернуть может ?
Помести алерт в колбэк.
Может спринг отказывается обрабатывать запрос без какой-нибудь нагрузки? Нагрузи его каким-нибдуь huita=malafia
Добавь ещё error колбэк. Может он тебе ошибку возвращает, а ты её даже не видишь.
Вот
http://jsbin.com/gofuqoroda/1/edit?js,output
Очень хотелось бы понять, что там вообще происходит.
Очевидно что-то связанное с перемещением объекта, вижу функции jquery ui
Например, чтобы один див появлялся после того, как, например, исчезнет другой див, который в свою очередь появится после того, как, например, в определенную область перетащат определенный объект?
События
Там есть кнопочка "Add library". Подключи Jquery UI. И стили для <div class="dropp/dragg"> добавь
Антуаны, стоит ли учить Метеор? Как он там?
на выбор: колбеки, промисы, события
Задолбался рыть гугл.
Есть один удаленный сервер, на странице которого записана строка. Как сделать GET запрос, чтобы достать эту строку?
Пробовал через ajax - соснул сервер постоянно выдает ошибку кроссдоменного доступа.
Сейчас пытаюсь открыть новое окно с нужным адресом и прочитать из него, не получается.
Неужели это нельзя сделать просто, без нагораживания PHP проксей на флеше?
Я тоже был удивлен, когда узнал, что есть люди со сверхспособностью читать спецификации.
Начнём с того, что у тебя addClass сам проходится по всей коллекции и each тебе не нужен.
просто там будут ещё и другие функции, которые небудут "проходиться по коллекции", на addClass тестирую, потому как он уже реализован
Тогда твой код вызова должен выглядеть так:
$("selector").each(function () { this.addClass("newClass") })
Сейчас у тебя так не сработает по куче причин. Например, each пытается передать параметр param, но у него его нет. Во-вторых, addClass ожидает NodeList, а в моем он вызывается у единичной ноды.
Вот, я переписал так, что бы работало, но потер некоторые твои вещи. Думаю, будет не сложно восстановить.
https://jsfiddle.net/m6j0wjuu/1/
бляяя. братан. спасибо. ты открыл мне глаза. пока не рассеялся эффект-я ныряю в свой код.
Не умеет похоже, и в веб-сокеты
Ну должно ведь работать!
спасибо, братан
Ему дали инструменты для разработки, а он ими не пользуется. Если бы ты держал консоль открытой, то сразу же понял бы в чем проблема, аутист ты этакий.
как бы держал, но необходимых выводов сделать не смог. значит что-то делал не так, но думаю,когда-нить мутирую из аутиста в разраба. туго тока сука идёт :)
https://jsfiddle.net/Lmd8510j/
Гляньте код, не откажите в любезности
Что за наркоманский код? Чего ты хочешься добиться?
>Array.slice
Такого вообще нет, может Array.prototype.slice?
я хочу чтобы функция handlingArray () принимала массив аргументов любой другой функции и если среди этих аргументов есть массив, она его сглаживала. в итоге функция handlingArray () возвращает массив аргументов без массивов. как то так принимает: handlingArray(1,4 ,[4,6,8]) , возвращает: [1,4 ,4, 6, 8]
Тебя ебёт?
ребят, не стесняйтесь - загляните внутрь. для гуру js там всё очевидно
Есть какой онлайн сервис для кода на жаваскрипт, чтобы несложно было разобраться полному ньюбу(для начального обучения по учебнику http://habrahabr.ru/post/240219/)
блин ну просто чтобы без палок в колеса console.log("Hello world") написать?
Тебе что-то такое надо? набыдлокодил на коленке и со вложенными массивами не работает
http://jsfiddle.net/9un79eve/
я хочу чтоб функция handlingArray() или flatten() как ты её назвал принимала ["Text", Array[2]] , а к ней приходит [Arguments[2]] http://jsfiddle.net/Lmd8510j/1/
jsfiddle.net или консолью браузера (F12) пользуйся. Загугли на ютубе уроки по яваскрипту от Sorax'а. Мне помогло. Я просто не совсем понимаю о чём ты спрашиваешь
Я хуй знает что тебе надо, но arguments это не array, а что-то похожее. А ["Text", Array[2]] и [Arguments[2]] это то, как соснулька их показывает их.
лан, братан, спасибо. буду как то переделывать всё чтоб такой вопрос не вставал
та я пользовался консолью, но больше банального консоль.лог ничего не смог
Ты ебанутый?
зачем трупы насиловать
Генератор рандома для них сделал. Пердолилку в блоки сделал.
Теперь мне надо сравнить два блока на наличие одной картинки.
Тип, если всё ок - блоки так и остаются открытыми, если не ок - закрываются.
И вот хуй знает как сделать это.
Я вообще, хотел через .click делать. Потом подумал, что кликать-то я буду по общему для всех классу - значит функция будет выполнятся одна для всех. А это как-то не так.
learn.javascript.ru
Три вопроса по этому:
1) Как сделать, чтобы страница была во всю высоту окна?
2) Как сделать переключение элементов по скроллу или нажатии стрелок, да так, чтобы не просто переключалось, а по очереди?
3) Как сделать, чтобы текст мелькал разными символами в разном порядке?
НА самом деле - нихуя не красота.
По вопросам - гугли. Лично видел плагин, чтобы-тип прокрутка именно окон, а не по вертюжку. Вот только название забыл.
Рекламируешь себя, Димон?
То есть я хочу чтобы, моя функция, получающая какую-то строку в качестве аргумента, на строку вида "<p>Some letters</p>" реагировала иначе чем на строку "Simple Stringle". Как отличить htmlString от простого string ?
Можешь создать элемент, запихнуть в него свою строку и сравнить innerHtml с innerText.
спасибо. так и поступлю
Расскажи, зачем такое может понадобиться?
Я искал и пробовал разные туториалы и видео, так что ГУГЛИ.
Блять, не codewars, а codeschool конечно же.
Почему это может на работать? Путь указан верно 100%. На сервер приходит "GET /assets/libraries/node_modules/angular/angular.min.js".
Может потому, что ты открыл сервер в этой папке, а папку уровнем выше он не видит? Бля, нельзя в нормальное место скрипты кидать? Или хотя бы bower использовать?
Хочется легкого чтения, а не гугления незнакомых слов
Спасибо
на офф сайт для начала сходи
http://pastebin.com/QTzSDWHZ
Вот код. В Хроме отрабатывает как и задуманно, в мозилле - ебанной эстафетчице ИЕ походу - хуй.
Если лень разбирать строчку за строчкой там написано: когда загрузится страница прицепи событие к body. Само событие: когда проскролится 55 пикселей - перекрась бекграунд или верни как было.
ну вставь там везде console.log да посмотри в чем будет отличие вывода в разных браузерах
Вместо document.body.scrollTop в FF попробуй использовать
document.documentElement.scrollTop
т.е. вот так
var doc = document;
var scrollTop = doc.body.scrollTop || doc.documentElement.scrollTop
или вообще испольовать пока jQuery
>>473038
Кароче кароче ура кароче. На сайте где я дергал инфу как справочную (w3schools) написано, что onscroll можно припиздякать к body, но фактически он заработал только в хроме и то частично. Через addEventListener отвалился и от хрома. Если скроллить document, то и в ff, и в хроме все заибися. Вот так заработало
>document.addEventListener("scroll", function (e) {console.log(e);});
Довольно странный кейс для тестирования веб-технологий. Измеряется больше скорость простейшего числодробления и вызова рекурсивной функции, чем обработки реальных запросов.
Да как минимум гостевая страница с простейшим функионалом - и замерять скорость постинга коммента/получения всех комментов. Это уже будет напоминать типичную для веб-бэкенда задачу.
Хотя на производительность в принципе всем похуй в большинстве случаев - если по ней судить, то сервер на С или фортране - лучший бэкенд. Даже у самого тормозного говна скорости хватит на большинство случаев, а где не хватит - там уже относительно серьезный бизнес, который может себе позволить тупо закупить еще серверов.
Есть один хачкелист в рунетике, который пишет стартуп с онлайновой платформой для рсс-аггрегации на ur/web и хаскиле. Вот он, скорее всего, посещает эту итб борду, но понятно, что если он начнёт кукарекать про юр, это сразу его сдеанонит, так как, похоже, он единственный человек на планете, который всерьёз пытается это использовать.
Измеряется больше скорость доступа к БД, чем обработки реальных запросов.
>>473330
Где эти комменты будут храниться? В каком виде? Получится текстодробилка, а не реальный запрос!
Кароч, в реальности бэкенд может заниматься чем угодно. Не вижу существенной разницы в том какие данные обрабатывать для бенчмарка.
По хорошему счету нужен набор самых разных бенчмарков.
В глаза ебёшься? Там разные тестики есть:
https://www.techempower.com/benchmarks/#section=data-r10&hw=peak&test=json
function fullScreen() {
if (player.requestFullscreen) {
player.requestFullscreen();
} else if (player.msRequestFullscreen) {
player.msRequestFullscreen();
} else if (player.mozRequestFullScreen) {
player.mozRequestFullScreen();
} else if (player.webkitRequestFullscreen) {
player.webkitRequestFullscreen();
}
}
А как обратно? Как определить, что элемент в полноэкранном режиме, чтобы его вывести тоже по дабл-клику?
Решил попробовать ваш JS, вашу Node и иже с ним.
Аноны подскажите, как установить NodeBB на сервер.
Есть сервер на nginx + varnish. Хочу туда поставить посмотреть NodeBB.
По инструкции на офф сайте всё установил, NodeBB запустил - запускается без ошибок. А как её в браузере то открыть? Там при команде nodebb setup - есть указание http://localhost:4597, но сервер то не на локалке у меня. Пробовал прописывать подомен, где его хочу потестировать - не открывается. Может нужно через nginx конфиг создавать и как-то прописывать там nodebb? Что-то я не вкурю нефига. Анон подскажи адепту.
Нагуглил. Переосмыслил подход, поправил, заработало.
А теперь вопрос. Я совсем буду долбанутый, если у меня node будет работать в связке с nginx + varnish? Или всё таки варнишь будет быстрее выдавать закешированные странички и меньше нагрузка на ноду? Ей ведь и так дофига запросов(ну, в теории) от зареганных обрабатывать нужно будет. Или это будет давать некоторые тормоза только? Ведь там nodebb работает на redis.
Если убрать nginx + varnish - по скорости изменится что-то? Или будет хуже? Или лучше? Поясните мне плиз.
хочу чтобы вы сделали сниппет на джейкуэри или пиэйчпи суть такова.
пользователь может заходить на страницу со смартфонов, пк и планшетов. и если пользователь заходит со смартфонов, определенные ссылки меняют href. можно переходить по ссылкам...
короче, как в jquery сделать проверку на ширину экрана? чтоб если ширина меньше определенной, то срабатывало условие? $(window).width вроде только получает текущую ширину, а мне нужно как в css @media max-width. в условии есть еще одна проверка, так что всё это нужно втиснуть в jquery.
Заранее сори за нубский вопрос
Медиазапросами показываешь элементы для телефона, планшета и десктопа. Потом на жс определяешь какой виден и в зависимости от того какой выполняешь что тебе надо
$(document).width
Спасибо, то что нужно.
в package.json пропиши "bin": { "tool": "index.js" } а потом установи сам пакет. можешь еще ман покурить - npm help json
Спасибо. Нашёл еще такую статью:
http://javascriptplayground.com/blog/2015/03/node-command-line-tool/
Может кому-то тоже пригодится. Для разбора аргументов взял commander
Кто о чем, пердолик о соснолях.
Оригинальный, написанный Айком (SpiderMonkey), был на C. В браузерах FireFox, Chrome и Internet Explorer интерпретаторы JavaScript написаны на C++. В современной Java тоже есть интерпретатор JavaScript (раньше был Rhino, теперь Nashorn), который можно использовать для скриптов в Java-приложениях.
Не совсем так, язык JavaScript создавался на основе Java и Scheme (один из диалектов Лиспа).
Гугли jQuery, $.ajax(...) отправляет на сервер AJAX-запрос и возвращает результат (если не было ошибки - в функции success). Затем просто заменяешь в любом элементе HTML-код: $("#myElemId").html(newcode);
screen.width
Во-первых, ты забыл упомянуть Smalltalk.
Во-вторых, анон спрашивал, на чем он написан, а не что повлияло на его создание.
Даны два блока, в одном лежат draggable элементы, другой — sortable, принимающий в себя эти элементы. Один из элементов сам является sortable и должен принимать в себя другие. Но! Так происходит ровно до того момента, пока не перетащить его. После перетаскивания перестаёт работать как контейнер. Перетаскивание дублирует элемент, handler: 'clone'. Все это на jqueryui.
Подскажи, анончик, в чем бида.
Накидал побыстрому, что было понятно?
http://jsbin.com/wofedosuge/1/edit?html,js,output
Нужно что бы красный элемент тоже был контейнером и мог принимать в себя элементы.
Итак, что удалось выяснить:
Блок сообщений представляет собой таблицу, имеющую id, который генерируется как "im_log%id юзера, с которым ведётся диалог%", class="im_log_t".
Каждое сообщение является строкой tr /tr таблицы и имеет id вида "mess%порядковый номер, идущий по порядку, но начинается не с 1%". Как генерируется пока не понял, да и думаю это не существенно. Гораздо важнее, что все входящии имеются class="im_in", а исходящие класс "im_out". По этим классам, судя по всему, и придётся парсить. Тащемта, нам требуется спарсить содержимое строк этой таблицы. Вот я и хочу у вас узнать как это сделать, т.е. получить содержимое всех этих тегов.
Далее: т.к. переписка очень большая, то сообщения изначально сообщения видны не все, а подгружаются по мере прокрутки истории сообщений вверх, и даже если кликнуть "Показать всю историю сообщений", то вконтакт всё равно подгрузит не все сообщения (не станет же он подгружать все десятки тысяч сообщений). Поэтому тут мне тоже очень нужен ваш совет как решить эту проблему.
Также мне нужно понять куда и как можно сохранить весь этот массив текста. Возможно ли кроссдоменным запросом отправить всё это на сторонний сервер и записать там в файл/БД и как это сделать.
Запустить скрипт, я так понимаю, можно просто вставив текст скрипта в консоль при открытой странице с сообщениями.
В общем, это пока что все мысли, которые есть. Буду рад любым внятным советам и ссылкам на статьи и литературу (только не очень объёмную).
Итак, что удалось выяснить:
Блок сообщений представляет собой таблицу, имеющую id, который генерируется как "im_log%id юзера, с которым ведётся диалог%", class="im_log_t".
Каждое сообщение является строкой tr /tr таблицы и имеет id вида "mess%порядковый номер, идущий по порядку, но начинается не с 1%". Как генерируется пока не понял, да и думаю это не существенно. Гораздо важнее, что все входящии имеются class="im_in", а исходящие класс "im_out". По этим классам, судя по всему, и придётся парсить. Тащемта, нам требуется спарсить содержимое строк этой таблицы. Вот я и хочу у вас узнать как это сделать, т.е. получить содержимое всех этих тегов.
Далее: т.к. переписка очень большая, то сообщения изначально сообщения видны не все, а подгружаются по мере прокрутки истории сообщений вверх, и даже если кликнуть "Показать всю историю сообщений", то вконтакт всё равно подгрузит не все сообщения (не станет же он подгружать все десятки тысяч сообщений). Поэтому тут мне тоже очень нужен ваш совет как решить эту проблему.
Также мне нужно понять куда и как можно сохранить весь этот массив текста. Возможно ли кроссдоменным запросом отправить всё это на сторонний сервер и записать там в файл/БД и как это сделать.
Запустить скрипт, я так понимаю, можно просто вставив текст скрипта в консоль при открытой странице с сообщениями.
В общем, это пока что все мысли, которые есть. Буду рад любым внятным советам и ссылкам на статьи и литературу (только не очень объёмную).
Так вот. При клике по контейнеру событие передается полю для прикрепления файла, все работает. Но хочу еще тащи-роняй (drag and drop) прикрутить. Собственно, как проксировать события типа dragenter, drop и что там еще из контейнера в поле? Чет нихуя не получается. ondrop="proxyEvent(event);" с последующим input.dispatchEvent(event); не фурычет. Текст ошики: InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable.
Иначе никак?
Вот здесь как раз я не знаю как делать. Допустим я в консоли хочу использовать метод messages.getById и тупо вывести его алертом. Что в консоли нужно писать?
А, вроде допёр. Но нужен токен даже уже для авторизованного пользователя. Его можно как-то узнать или можно получить только авторизовавшись в ВК?
Ты почитай документацию то. Примеры посмотри.
[code lang="js"]
var options = {
message_ids: [/ид сообщений/]
};
VK.Api.call("messages.getById", options, function(response) {
response = response.response;
if (!response)
return;
response.items.forEach(function(msg) {
console.log(msg.body);
});
});
[/code]
Dzęki
Бля, там нужна авторизация приложения для получения акцесс токена. Это ведь можно всё спарсить и без этого геморроя.
Ну да, есть. Свой же acces_token для запуска кода я и хочу и, вроде как, могу использовать для запроса. Судя по сурс-коду переменная vc_h как раз и содержит значение токена?
Там все проще делается, хуячишь вот так:
[code lang="js"]
VK.init({
apiId: 4867924
});
VK.Auth.login(function(response) {
if (response.session) {
//OK
} else {
//FAIL
}
});
[/code]
И типа все. Оно само откроет окошко с запросом авторизации. Там только еще в запросе надо будет указать, какие действия можно будет делать, оно при подтверждении их перечислит.
Так в том-то и дело, что у меня нет никакого приложения. Это просто код, запущенный в консоли.
Тогда вроде вообще никак. Зачем тебе эта ебля, просто создай в блокноте простейшую HTML страницу с нужным скриптом и не извращайся.
И как мне его на вконтактовской странице тогда запустить?
Чувак, еще раз: нужно спарсить все сообщения из диалога ВК и куда-нить пока не придумал как их записать. Код для парсинга буду запускать из консоли. Нах мне какой-то файлик создавать-то?
Я принимаю в <div> код из БД с большим кол-вом лишних <tr> и <td>
Как мне вообще сделать так, чтобы этот код фильтровался от лишнего автоматически? Что нужно будет прописать в самом <div>?
А то я только функцию onClick знаю.
Простите за тупые вопросы. ._.
Пытаюсь погроммировать на ПХП яваскрипт вообще не знаю, захотел добавить на один сайт что то подобное http://neave.tv. Скачал какой-то видеоплейер написанный на яваскрипт, подключил, норм работает, но как сделать что бы при нажатии на кнопку плей переключалось другое видео? Надо искать что то в коде самого видеопроигрывателя но я не разбираюсь, может кто то что то подскажет?
Что значит "лишних", блядь? Что значит автоматически? Я блядь откуда знаю, какие у тебя лишние, а какие нет? Ты алгоритм можешь сформулировать?
Ну ебись со своим парсингом хтмл, раз не хочешь все быстро и просто сделать.
Ты мне нравишься, поэтому отвечу: ничего проксировать не надо, драг-унд-дроп файла можно отловить на любом элементе: http://www.html5rocks.com/en/tutorials/file/dndfiles/#toc-selecting-files-dnd .
Зачем ты такой злой?
Мне просто нужно чтобы всё, что попадает в див, проходило через определенную регулярку, ну.
Ты не понял. Мне надо, чтобы событие произошло именно на файловом input-е, тогда будет такой же эффект, как если бы пользователь щелкнул по инпуту, выбрал файл и нажал ОК (то есть файл будет выбран в инпуте и отправится на сервер при submit'е формы). Не хочется городить дополнительных условий и проверок, нет ли файлов, добавленных drag and drop'ом и запихивать их в запрос отдельно.
Переписку ЕОТ с Ерохиным утащить хочешь?
bump
>я в скрипты вообще не могу, а задание есть.
Попроси погромистов которые делают бэкенд убрать теги. Есть и другие способы, но для этого тебе нужно хоть немного мочь в погромирование.
Ну я в пхп могу неплохо. Но сделать это надо на js. Просто скажи как это можно сделать, а я уже что-то попытаюсь сообразить. Иначе никак. Такие-то дела у меня.
Если данные отдаются в json'е, то прям на входе и обрабатываешь. Если данные отдаются прямо в шаблон и на этапе принятия их обработать нельзя – присвой нужному диву id и замени содержимое.
<div id="foo">
<tr>azaza</tr>
</div>
<script>
document.getElementById('foo').innerHTML = document.getElementById('foo').innerHTML.replace(/<(?:.|\n)*?>/gm, '')
</script>
Хотя это, конечно, костыли. Если tr'ы не нужны, то нужно пройтись по базе и разом их все выпилить.
>document.getElementById('foo').innerHTML = document.getElementById('foo').innerHTML.replace
Охуенно! Теперь я знаю как это делается, спасибо большое, анон :з
Спасибо.
Как что-то плохое. Я бы облизал.
Так вот статистика утилит на c# совершенно иная. Лишь один проект из десятка я забросил.
Собственно, моё ворчание не всё, зачем я пишу, а всего лишь ищу ответ на вопрос, почему так и как повысить процент успешных проектов на js (писать на Dart?)?
Сам заметил 2 вещи, которые объективно хуже, чем в C#, первое это отсутствие IDE, кроме VS. Все эти блокнотики, саблаймы, брекеты, вебматриксы и джетбрейны мало того что глючат (учитывая куцый функционал), так ещё и не могут в нормальный дебагинг.
Может не знаю, есть какая-то IDE, которая будет показывать ошибки до интерпретации, ходя бы подчёркивать их.
Второй недостаток я решил фабричными функциями, а вот с выбором IDE до сих пор напряг.
Тебе NetBeans / Eclipse / IDEA религия использовать не позволяет, что ли?
>Может не знаю, есть какая-то IDE, которая будет показывать ошибки до интерпретации, ходя бы подчёркивать их.
Даже обосаный eclipse это умеет.
>сделали язык с динамическим петушением
>жалуются на невозможность выявления ошибок до интерпретации
>пишут костыли для выявления ошибок до интерпретации
Вся суть веб-даунят.
www.xiper.net/examples/js-plugins/ui/ui-slider/
Есть определенная выборка товаров.
Как мне сделать так, чтобы при выборе определенного ценового диапазона все товары, не попадающие в него, не отображались, но вместе с тем сделать это без обновления страницы, а, так сказать, на лету - поставил на ползунке минимальную цену в 100 и все, что стоит меньше 100 сразу прекратило отображаться.
if(price < получаемое_на_первом_ползунке_значение) {
style.display = "none";
}
else if(price < получаемое_на_втором_ползунке_значение) {
style.display = "none";
}
так?
По невнимательности проебал, спасибо.
$('#test').someshit(function () {\t
\tvar value = $(this).data('value');;
\tvar mini = $("#minCost").val();
\tvar maxi = $("#maxCost").val();
\talert(maxi);
\tif (value < mini) {
\t\t$('#test').css('display', 'none');
\t}
\telse if (value > maxi) {
\t\t$('#test').css('display', 'none');
\t}
});
Почему он отказывается работать?
Все инпуты есть, дивы тоже.
Лол
PHP генерирует таблицу расписания, которую можно тут же и редактировать: кликаешь на ячейку - она преобразуется в textarea, содержащую значение ячейки, потом ну еще не реализовал многое это всё можно сохранить отправив ajax'ом на сервер. Вопрос: почему при изменении значения ячейки и переходе к клике по другой ячейке значение отредактированной ячейки не сохраняется? ЧЯДНТ?
Вопрос:
Есть веб-страница. На ней кнопка "показать надпись". Нажимаем кнопку - в нужном месте страницы появляется текст. Без перезагрузки страницы. Это аяксом делается? Или яваскриптом? Или всё же можно реализовать голым пхп? Как?
Что это вообще?
Нахуя тебе ПХП, если ты таких вещей не понимаешь ?
Какой текст ? Если грузится с сервера - аяксом, если он уже на странице есть, но скрыт или берется откуда-то со страницы, то обычным JS. Можно и на ПХП, если совсем извращенец.
>Нахуя тебе ПХП, если ты таких вещей не понимаешь ?
Сделать задание от препода и забыть, как страшный сон. Программирование - не мой профиль.
>>477102
В итоге нашёл разные варианты с использованием жаба-скрипта:
1) document.write("<a href='http://www.google.ru'>Google - ничего и не терялось!</a>");
2) document.getElementById("heretext").innerHTML="Текст, текст, текст!";
Либо на чистом пхп
<?php
function function_echo(){
echo "Hello!";
}
if($_POST){
function_echo();
}
?>
<form method="post">
<input type="submit" name="create" value="1.php-button">
</form>
Это копия, сохраненная 5 июня 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.