Макет должен иметь тот же самый логический размер, что и экран мобилы. Например у айфона 6 это 375х667, у айпада 1024х768 пикселей и т.д. Вот и всё собственно.
Другое дело, что при этом вы должны некоторые отдельные элементы (иконки, логотипы, иллюстрации) нарисовать в 2х разрешении. Но это обычно делают в отдельном файле.
Ну например, у вас какой-то запрос, вместо осмысленного кода, вернул ошибку.
1. Можно сделать setTimeout на несколько секунд, потом вызвать location.reload();
2. Если вместо например осмысленного JSON сервер вернул белиберду, то можно перехватить и это через try-catch и вернутся к пункту 1.
filter всего лишь делает выборку из некого jQuery объекта.
data и data2 - должны быть осмысленным селектором, а не строкой. Т.е. #id, .class, [name='vasya'] и т.п.
Никак, это анонимная функция присвоенная только для этого клика.
Чтобы избежать этого, нужно делать так:
function foo () {
// code
}
$("#button li").on('click', foo); // теперь foo можно вызвать и по клику
foo(); // и просто так
// либо
$("#button li").on('click', function () {
foo(); // тот же результат
});
Такие модули сегодня модно покупать у сторонних компаний. Очень много предложений на рынке.
Но если все же хотите сами, то для такого "чата" достаточно AJAX, никаких веб-сокетов не нужно, так как существует большой лаг между вопросом пользователя и ответа оператора. Достаточно раз в 30 секунд запрашивать сервер на наличие ответа по таймеру и всё.
Чтобы сделать это на Ajax вам будет проще всего воспользоваться jQuery и его Ajax API
В ближайшие лет 10 вы их не увидите. Они делаются и отгружаются исключительно под военные нужды. Частным заказчикам лучше сейчас просто про них забыть.
Посещайте Moscow JS и прочие митапы. Следите за конференциями. Подпишитесь на твиттеры известных разработчиков. Все это в комплексе позволяет быть в тренде.
1. Проектирование. Вначале рассмотрите проект со всех сторон, выделите общие элементы, цвета и т.п. Все это запишите.
2. Используйте препроцессоры вроде LESS.
3. Используйте хорошие IDE с нормальной подсветкой кода вроде WebStorm.
Если вы пользуетесь jQuery, то изучите следующие API: api.jquery.com/each - чтобы пробежать по всем элементам api.jquery.com/prop - чтобы проставить им значения