В этой короткой заметке расскажу об одной технике, казалось бы очень очевидной, но тем не менее новички в программирования на JavaSсript часто про нее забывают. 

Для начала обычный код, который Вы, я уверен, видели ни раз.

$('input').keyup(function(){
	$.post('autocomplite.php',{str:this.value},function(data){
		complite(data);
	});
})

 По мере набора текста, значение из поля ввода отправляется на сервер. Такой код часто используется в поиске по сайту, или для автокомплита.  

Что в этом коде не так, как Вы считаете?

Как определить, чем отличается один текст от другого и выделить эти различия (difference). 

При написании автоматического рерайтера текста, в рамках вот этого проекта, возникла необходимость составить базу синонимичных фраз. Заполнять ее специально  (руками) было лень, хотя и сделал такую возможность. Я решил пойти другим путем. Каждый день, я рерайтил по несколько статей для своего новостного блога. Если разобраться, то разница между исходным текстом и результирующим это и есть пары значение-синоним. Осталось только научится находить разницу. Как оказалось задача давно изучена и решена. Есть готовые решения для php, есть для js. Меня интересовала клиентская сторона, поэтому я изучил javascript реализации.

На этом поприще есть лидеры. Самым интересным экземпляром был набор скриптов от самого Google (или самой, зависит от Вашей религии). Там же можно посмотреть и как оно работает

Как вывести Яндекс карту в jquery ui dialog. При разработке, а точнее доработке своего сервиса Конструктор Яндекс Карт, столкнулся с задачей, на первый взгляд весьма тривиальной. Надо было вывести Яндекс карту в форме диалогового окна jquery ui.

Хотя у меня уже был опыт подобного рода, я решил, что легко выполню эту задачу. Не тут то было. Карта совершенно не хотела рисоваться во вновь созданном и показанном боксе.

Дело еще осложнялось тем, что карту надо было выводить в iframe. Я хотел сделать что-то вроде "песочницы", для запуска кода.
Попробовал решить в лоб

var _frame = jQuery('<iframe></iframe>').attr("frameborder", "0"), _vbox = jQuery('<div></div>'), doc;
jQuery('body').append(_vbox);
_vbox.append(_frame).dialog();
_frame.width(500);
_frame.height(500);
var element = _frame.get(0);
if ( element.nodeName.toLowerCase() === "iframe" ) {
	if (element.contentDocument)			// Gecko
		doc = element.contentDocument;
	else if (element.contentWindow)			// IE
		doc = element.contentWindow.document;
}else 
	doc = element;
doc.open();
doc.write('<html><head><title>Конструктор Yandex карт</title></head><body>{ код вывода Яндекс Карты сгенерированный сервисом}</body></html>');
doc.close();

и вновь у это великолепного кода, всего один минус. Он не работал(

 Прогрессбар при работе серьезных парсеров вещь весьма и весьма полезная. Если граббер парсит серьезные объемы данных, то знать на каком он сейчас этапе жизненно необходимо.

Обычно для этого я делаю следующее.

Программисты, пишущие плагины на редактор ckeditor наверняка заметили, что начиная с версии 4, редактор идет с плагином codemirror для редактирования исходного текста. Когда-то давно, сам хотел подружить его с ним. Так и не дошли руки, теперь же он предустановлен. Но частью API ckeditor не является. Поэтому возникает проблема, если приходится работать в режиме исходного текста:  как работать с плагином codemirror в ckeditor из другого плагина.

Подкатегории

Все о разработке на библиотеке jQuery