LINUX.ORG.RU

Скрипты GreaseMonkey


0

0

Вопрос следующего плана..

Имеется: веб-страница, на которой обычный текстовый input: <input class="listen" name="listen" type="text">, ФФ 3.0.1 с установленным greasemonkey.
Хочу сваять скрипт, который при открытии этой веб-страницы будет давать value полю listen, взятое из sh-команды: mpc | sed -n '1p'

Подскажите, если не сложно, с чего начать и как это реализовать?

Спасибо.

★★★★★

greasemonkey, afaik, неумеет выполнять шелл-команды.

единственный видимый мною вариант - локальный демон отдающий по хттп нужную инфу. забирать через GM_xmlhttpRequest.

дальше банальное document.getElementById

anonymous
()

А потом на ЛОРе появятся подписи к сообщениям
-- 
Сейчас играет: "Зайка моя"



1. Как уже сказали локальный веб-сервер с cgi
2. Написать расширение для ФФ.
   У расширений значительно больше привилегий. 

sdio ★★★★★
()
Ответ на: комментарий от anonymous

>> единственный видимый мною вариант - локальный демон отдающий по хттп нужную инфу.

#!/bin/sh

NETCAT="/usr/bin/nc"

PORT=8080

printXml()
{
        echo "<?xml version=\"1.0\"?>"
        echo "<root>"
        echo "    abyrwalg"
        echo "</root>"
}

if [ -z "${1}" ]; then
        trap "exit 0" SIGTERM SIGINT

        while true; do
                $NETCAT -l -p $PORT -c "${0} child"
        done
else
        while read query_line; do
                query_line=$( echo -n "${query_line}" | tr -d "\n\r" )
                if [ -z "${query_line}" ]; then
                        echo "HTTP 200 OK"
                        echo "Content-Type: application/xml; charset=utf-8"
                        echo
                        printXml

                        break
                fi
        done
fi

exit 0

Deleted
()
Ответ на: комментарий от Deleted

yup, что-то в этом духе. отдавать xml в данном случае необязательно, нужна ведь только строчка с now playing (ну если конечно не отдавать отдельно исполнителя, трек, альбом и прочее)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.