Showing posts with label javascript. Show all posts
Showing posts with label javascript. Show all posts
2011-07-04
2011-06-28
Extract mp3 from flv script
I have a video course. But there's only a Shon Harris (poor presentation materials), I thought it better to listen to this course on the player. The problem is that the player does not properly sort numeric file names (100 is earlier than 50). I wrote a little script on WSH, which solves these problems.
Source: SSCP_01.00.00.flv, SSCP_01.01.100.flv
Result: SSCP_0001.0000.0000.mp3, SSCP_0001.0001.0100.mp3
Command line: cscript /nologo list.wsf <folder path> > extract.bat
FFmpeg for Windows can be downloaded from http://ffmpeg.zeranoe.com/builds/
Source: SSCP_01.00.00.flv, SSCP_01.01.100.flv
Result: SSCP_0001.0000.0000.mp3, SSCP_0001.0001.0100.mp3
Command line: cscript /nologo list.wsf <folder path> > extract.bat
FFmpeg for Windows can be downloaded from http://ffmpeg.zeranoe.com/builds/
Labels:
javascript
2011-02-01
Chrome console.groupEnd bug
// 1
console.group('group 1');
console.group('group 2');
console.groupEnd('group 2');
console.log('end'); // console.groupEnd don't work without this log
console.groupEnd('group 1');
console.log('ready');
// 2
console.group('group 1');
console.group('group 2');
console.groupEnd('group 2');
console.groupEnd('group 1');
console.log('ready');
How can I close group without log?
Labels:
chrome,
javascript
2010-09-27
2010-02-08
Lomtiki example
I'm just trying new approaches to development on javascript
var Lomtiki = $initialize({
type: 'module',
name: 'Lomtiki',
properties: [{
name: 'version',
value: '2.0'
}],
items: [{
type: 'class',
name: 'HelloWorld',
constructor: {
parameters: [{
name: 'hello'
}],
handler: function(meta) {
meta.scope.hello = meta.hello;
}
},
methods: [{
name: 'print',
handler: function(meta) {
console.log(meta.scope.hello);
}
}]
}]
});
var hw = new Lomtiki.HelloWorld({
hello: 'hello',
listeners: {
print$before: {
handler: function(meta) {
meta.scope.hello += ' world' + meta.exclamation;
}
}
}
});
hw.print({
exclamation: '!'
});
Labels:
javascript,
lomtiki
2009-11-24
Douglas Crockford - JavaScript The Good Parts.9780596517748
Так я вышел на эту книгу. Скромная по своим размерам, не по содержанию. Множество советов полученных на практике экспертом, создавшим JSON. Все таки нашел там то, на что раньше не обращал внимания. Это сортировка массива объектов. Правда, метод описаный там равносилен самостоятельной имплементации и я буду использовать свой (с использованием кэширования), но все-же.. как я раньше этого не нашел?! =)
Labels:
books,
javascript
2008-11-01
Контекстный Google Translate
Читал документацию по Google AJAX Language API. Ну, а чтоб времени зря не терять, написал небольшой контекстный переводчик. Работает только с Firefox и Greasemonkey. Результат перевода слова, на которое был наведен курсор мыши, отображается в статусной строке (если доступ для js к изменению статусной строки открыт). Результат перевода элемента (абзаца, ссылки и т.д.) записывается в атрибут title этого элемента, конечно, следует выводить перевод в более удобной форме, если будет интерес потом доделаю..
В данной части кода определяем иностранный и родной язык, далее идут шаблоны для поиска иностранных слов под курсором мыши.
В данной части кода определяем иностранный и родной язык, далее идут шаблоны для поиска иностранных слов под курсором мыши.
Labels:
coding,
javascript,
userscripts
2008-03-20
Project: Google Reader autoscroll
Description
Autoscroll. Translate original page in GR window. View and mark items as read by means of a mouse wheel. View original page in GR window. Open original page in new tab by middle click in list view. Real fullscreen mode. Scan to first read/unread/starred item. Memory cleaner.
Does the interface of Google Reader slightly more conveniently. The current version works only with browser Mozilla Firefox and Greasemonkey.
Shortcuts
Tips
In list view use middle mouse button on subject, original page will open in new tab.
Change log / Demo
Version 0.913 changes:
+ Autoscroll;
+ View and mark items as read by means of a mouse wheel;
+ View original page in GR window (preview);
+ Open original page in new tab by middle click in list view;
+ Real fullscreen mode;
+ Scan to first read/unread/starred item;
+ Memory cleaner;
+ Toggle new/all items keyboard shortcuts.
Show video
Version 0.931 changes:
+ Google Translate integrated;
+ Popup mode for additional display (don't foget disable popup blocker for GR);
+ Copy current entry URL to clipboard shortcut.
Version 0.933 changes:
+ Source icon instead of a star;
+ Source title colorizing.

Feedback and Suggestions
Leave your comment in project page.
Installation
Show installation video
Install this script
Project Details
Name: Google Reader autoscroll
Verson: 0.935 (2008-04-20) (temporary not working)
Developers: 1
Development Status: 4 - Beta
Intended Audience: End Users/Desktop
License: Artistic License
Operating System: OS Independent (Written in an interpreted language)
Programming Language: JavaScript
Download: 24344.user.js (userscripts.org)
Autoscroll. Translate original page in GR window. View and mark items as read by means of a mouse wheel. View original page in GR window. Open original page in new tab by middle click in list view. Real fullscreen mode. Scan to first read/unread/starred item. Memory cleaner.
Does the interface of Google Reader slightly more conveniently. The current version works only with browser Mozilla Firefox and Greasemonkey.
Shortcuts
Tips
In list view use middle mouse button on subject, original page will open in new tab.
Change log / Demo
Version 0.913 changes:
+ Autoscroll;
+ View and mark items as read by means of a mouse wheel;
+ View original page in GR window (preview);
+ Open original page in new tab by middle click in list view;
+ Real fullscreen mode;
+ Scan to first read/unread/starred item;
+ Memory cleaner;
+ Toggle new/all items keyboard shortcuts.
Version 0.931 changes:
+ Google Translate integrated;
+ Popup mode for additional display (don't foget disable popup blocker for GR);
+ Copy current entry URL to clipboard shortcut.
Version 0.933 changes:
+ Source icon instead of a star;
+ Source title colorizing.

Feedback and Suggestions
Leave your comment in project page.
Installation
Project Details
Name: Google Reader autoscroll
Verson: 0.935 (2008-04-20) (temporary not working)
Developers: 1
Development Status: 4 - Beta
Intended Audience: End Users/Desktop
License: Artistic License
Operating System: OS Independent (Written in an interpreted language)
Programming Language: JavaScript
Download: 24344.user.js (userscripts.org)
Labels:
autoscroll,
coding,
google reader,
javascript,
userscripts
2008-02-18
Menu
Так как количество сообщений, скоро перестанет влезать на главную страницу, решил наконец-то создать меню, итак долго оттягивал этот момент.. работаю на двух работах, пишу диплом, времени практически нет. Нужно решить две проблемы, точнее одну, но двухпричинную. Первая причина – дизайн страницы изначально задумывался с фиксированной шириной, так что сбоку ее не прицепишь, и вторая – не испортить цельность и общий стиль страницы инородными элементами. Передумал много разных вариантов, из стандартных решений ничего не подходит, решил совместить виджеты с табами (что-то сумбурное сказал, но других названий я не знаю), с фиксированной шириной и высотой области меню, следовательно, содержимое табов должно скролится (что тоже интересная задача).
Часов восемь перебирал различные стили и расположения в фотошопе (эх, давно не лицезрел этот мощный продукт на экране своего монитора), окончательный вариант можно видеть на скриншоте. Он не сильно влияет на общий стиль страницы и не занимает много места, при этом предоставляет мгновенный доступ ко всем необходимым пунктам меню, без дополнительных кликов.
Еще несколько часов ушло на кодирование скроллинга табов без нажатия кнопок мыши, наводишь на край, и содержимое скрытых областей начинает вылезать на обозрение пользователю, которому влом лишний раз искать кнопку у своего зверька. Далее написал парсер кода виджетов, которые любезно предоставили разработчики blogger.com, за что им огромная благодарность (правда, насколько я успел заметить, в первую очередь они ориентируются на firefox, что отражается на правильности отображения некоторых элементов, что я поправил, т.к. в основном использую opera).
Осталось только отшлифовать и протестировать меню, и скоро по нему можно будет потыкать и поплеваться.. =)

Часов восемь перебирал различные стили и расположения в фотошопе (эх, давно не лицезрел этот мощный продукт на экране своего монитора), окончательный вариант можно видеть на скриншоте. Он не сильно влияет на общий стиль страницы и не занимает много места, при этом предоставляет мгновенный доступ ко всем необходимым пунктам меню, без дополнительных кликов.
Еще несколько часов ушло на кодирование скроллинга табов без нажатия кнопок мыши, наводишь на край, и содержимое скрытых областей начинает вылезать на обозрение пользователю, которому влом лишний раз искать кнопку у своего зверька. Далее написал парсер кода виджетов, которые любезно предоставили разработчики blogger.com, за что им огромная благодарность (правда, насколько я успел заметить, в первую очередь они ориентируются на firefox, что отражается на правильности отображения некоторых элементов, что я поправил, т.к. в основном использую opera).
Осталось только отшлифовать и протестировать меню, и скоро по нему можно будет потыкать и поплеваться.. =)
Labels:
javascript,
web design
2007-08-03
Различия реализации объекта Array языка JavaScript в браузерах
В данный момент работаю над приложением, где используются массивы с большим количеством данных, а т.к. JavaScript не специализирован на производительность, с ней появились некоторые проблемы.. Бороться решил хэкерскими методами, но в очередной раз сделал для себя небольшое открытие и потратил несколько времени на отыскание бага.. вот он..
Результаты работы:
Я надеялся на то, что в IE значение тоже перепишется в хэш-массиве на последнее место, но так не случилось, а жаль.. ушел читать MSDN.
// инициализируем массив
a = new Array();
a["a"] = 1;
a["b"] = 2;
a["c"] = 3;
// переписываем значение ячейки
delete(a["b"]);
a["b"] = 2;
m = "";
// перечисляем все элементы массива и выводим
for (i in a)
m += i + " " + a[i] + "\n";
alert(m)
Результаты работы:
Internet Explorer 6.0
a 1
b 2
c 3
Opera 9.21, Firefox 2.0
a 1
c 3
b 2
Я надеялся на то, что в IE значение тоже перепишется в хэш-массиве на последнее место, но так не случилось, а жаль.. ушел читать MSDN.
Labels:
coding,
javascript
Subscribe to:
Posts (Atom)