mackot писал(а):
Что думаете? Будет ли работать, будет ли удобно? Имеет ли смысл допилить до ума? Или может такой плагин уже есть? ногами не бить.
Зачем же ногами

. Плагин, в принципе, неплохой и прекрасно работает с моей VF0700 от Креатива, практически результат около 100% примерно с метра-двух, и весьма неплохой результат даже при включенном телевизоре. Он у меня уже давно, ~ на 95% запилен под MajorDoMo(дефолт из коробки, возможность выбирать Мажор из списка, а следовательно можно пользоваться и другими поисковиками, добавлен выбор скрытого режима работы). Пока я его немного забросил

. Почему? Дело в том что у гуглов бзик на безопасности, отсюда Ява для расширений весьма и весьма ограниченная, если не сказать вывернутая наизнанку, даже в рамках версий манифеста, отсюда необходимость много читать, а у меня к сожалению жуткий завал.
Чего не хватает, для полного счастья?
1. Нет активации по ключевой фразе.
2. Нужно в настройки добавить поле где можно зафиксировать адрес сервера, конечно и без этого собрать совсем несложно, дело 5 минут, собрал и забыл, но это мне видится как то незаконченным.
3. Самое заморочистое, собственно, то на чем я стопорнулся, на слух прозвучит банально

, но тем не менее, фактически, благодаря гуглам ребус получается еще тот особенно когда слету. У меня, тупо, проблемы со скрытым режимом

, там даже банальный setTimeout не получается заставить работать. Что имеем? На входе в функцию openURL мы получаем собственно переменную в которой наша ссылка (.../command.php?qry=)+ то что распознал Гугл. Называется она url. Далее в настройках есть возможность выбрать один из трех вариантов("Открывать в новой вкладке", "Обновлять текущую" и некий "Умный режим", а в частности если открыта новая вкладка, результат запишется в нее, если новая вкладка не открыта то скрипт ее предварительно создаст), естественно нам ни один из этих вариантов не подойдет, так как в первом случае при каждой команде будут плодиться эти самые вкладки, а во втором будет подменяться, возможно важное содержимое, страничкой command нашей системы, т.е. в любом случае придется лишний раз тыкать, чтобы либо закрыть ненужную страничку, либо вернутся на нужную. Исходя из этих соображений, я добавил еще один пунктик а именно скрытый,

ну или хотя бы, почти скрытый режим. Проще говоря, в идеале ссылка просто должна уйти на сервер и там отработать, ну, а в более простом варианте, ссылка должна открыться в новой вкладке/окне(не суть) и отработав, это окно/вкладка должны закрыться. Сразу честно признаюсь, я сильно глубоко не копал. На первый вариант я практически ничего не нашел, на второй вариант я добился открытия/закрытия как вкладки так и окна, но не более того. Как это работает. Имеем, например, рабочие:
Код: Выделить всё
okno=window.open(url,'okno');
okno.close();
В этом случае, система даже не успеет передать ссылку, так как в Яве по сути пауз не бывает, она лупит как из "пулемета" т.е. не закончив одно уже вовсю выполняется следующее. Вот и получается что наша новая вкладка успевает лишь мелькнуть, а далее тишина. Естественно, в таком варианте:
Код: Выделить всё
okno=window.open(url,'okno');
// okno.close();
Все работает, но этого добра у нас уже и так предостаточно(помните я говорил про плодящиеся вкладки

).
В общем далее, по логике вещей, в самом простом и кривом случае, должна быть, как минимум, задержка. Ну что то типа:
Код: Выделить всё
okno=window.open(url,'okno');
setTimeout(function () {okno.close();}, 5000);
Ан нет, фигушки во второй версии манифеста оно чегой-то не работает

. Сначала я на 3 сек. задержке попробовал целую кучу вариантов, не помогло. Потом наткнулся, на то что гуглы дабы не грузить систему на фоновых процессах увеличили минимальную задержку до 5 сек. Попробовал для проформы на 5 сек. не помогло. Далее дочитался до изменений во второй версии манифеста, там как раз имеется поправка на setTimeout и иже с ним. На этом моменте, каюсь

, я забил, кругом завалы дома ремонт, на работе меняем оборудование, а я каждый день еще сижу до трех четырех утра, в общем оценив нагрузку пришлось, на неопределенный срок отказаться от затеи

. Уж лучше вы меня здесь по пинайте, чем домашние за ремонт

.
В общем кто более менее заинтересован в вопросе и знаком с кодингом расширений для хрома может попробовать дописать, я прицеплю сюда архив с распакованным расширением. Две вещи чтобы не искать:
1. Адрес сервера прописывается в: 4.5_0\scripts\defaults.js в 19 строке.
2. Эксперименты со скрытым режимом в: 4.5_0\scripts\popup.js строки 312-326 (оставляю там все как есть не подчищая, по дефолту, сейчас, в настройках, активирован именно этот кусок.) Будет весьма здорово если кто то закончит это расширение, оно действительно весьма неплохо распознает, а нет, нестрашно, немного буду посвободнее поковыряю еще.
Собственно, архивчик: