mai62
|
|
« Ответ #300 : 30 августа 2011, 11:40:08 » |
|
В событии 1-минутного таймера не определена переменная hc.event Спасибо, поправлю. Как сделать так: расширение в ходе инициализации или в ходе работы спрашивает пользователя, нужна ли ему предоставляемая им функциональность. Это вопрос не по НС, а по lua. Есть разные библиотеки для реализации пользовательского интерфейса для lua, какой пользоваться выбирайте сами. В файле HCExtensions.html есть ссылки на несколько примеров таких библиотек. Если да, то расширение работает дальше. Если нет то оно отключается на весь дальнейший сеанс работы НС. Как это отключение осуществить, чтоб отключение было не псевдо а реальным, в том числе вызвался бы destroy? Можно завести в расширении переменную, от состояния которой будет зависеть выполнение функций расширением. Функцию - обработчик события destroy расширение может вызвать в любой момент. Инициализация еще не завершилась, ждем ответ пользователя, а в расширении уже работают другие обработчики. По моему надо сделать чтобы все обработчики могли вызываться только после окончания инициализации. Вы это проверяли? В крайней версии не должны вызываться обработчики событий до конца инициализации.
|
|
|
|
|
Byfuglien
Новичок
Репутация: +1/-2
Offline
Сообщений: 46
|
|
« Ответ #301 : 30 августа 2011, 19:33:47 » |
|
Можно завести в расширении переменную, от состояния которой будет зависеть выполнение функций расширением. Функцию - обработчик события destroy расширение может вызвать в любой момент. Это как раз и имел в виду под "псевдо" отключением. На самом деле расширение не "разрегистрируется", а продолжает получать управление с каждым запросом Вы это проверяли? В крайней версии не должны вызываться обработчики событий до конца инициализации. Проверялось, вызывается RequestHeaderReceived. Другие не проверял, не исключено тоже вызываются
|
|
|
|
|
mai62
|
|
« Ответ #302 : 31 августа 2011, 12:39:07 » |
|
Это как раз и имел в виду под "псевдо" отключением. На самом деле расширение не "разрегистрируется", а продолжает получать управление с каждым запросом "Разрегистрировать" расширение можно функцией hc.enable_extension(), но тогда оно не запустится при следующем старте. Количество вызываемых обработчиков можно радикально уменьшить с помощью переменной hc.extensions_on. Проверялось, вызывается RequestHeaderReceived. Другие не проверял, не исключено тоже вызываются А точно обработчик Init у Вас висит (не завершает выполнение)? Я предпринимал меры для того, чтобы обработчики в такой ситуации не вызывались. Надо будет проверить, возможно что-то и пролазит.
|
|
|
|
|
DenZzz
|
|
« Ответ #303 : 31 августа 2011, 13:00:06 » |
|
Проверялось, вызывается RequestHeaderReceived. Другие не проверял, не исключено тоже вызываются А точно обработчик Init у Вас висит (не завершает выполнение)? Я предпринимал меры для того, чтобы обработчики в такой ситуации не вызывались. Надо будет проверить, возможно что-то и пролазит. Подтверждаю. Во время работы Init расширение продолжает обрабатывать другие события. Проверить легко: если сразу после загрузки обновления СМ пока идет переинициализация попытаться открыть какие-нибудь страницы, то получишь испорченные куски HTML кода от обработчика тела СМ.
|
|
|
|
|
Byfuglien
Новичок
Репутация: +1/-2
Offline
Сообщений: 46
|
|
« Ответ #304 : 01 сентября 2011, 09:23:18 » |
|
"Разрегистрировать" расширение можно функцией hc.enable_extension(), но тогда оно не запустится при следующем старте. Спасибо буду пробовать А точно обработчик Init у Вас висит (не завершает выполнение)? Точно, он ждет нажатия кнопки пользователем
|
|
|
|
|
ViKtOrV
Пользователь
Репутация: +0/-2
Offline
Сообщений: 85
|
|
« Ответ #305 : 13 сентября 2011, 21:45:01 » |
|
И снова о старом. Использую расширение Код:--[[ <HCExtension> @name BlackListDisabler @author mai62 @version 0.01 @description Отключает Черный список для заданных пользователей @event RequestHeaderReceived/request </HCExtension> ]]
function request() if hc.user_name == 'user1' then hc.white_mask="Ч" end end Работает хорошо, но всё же хотелось бы делать доступными не все сайты. Как будет выглядеть это расширение с блокировкой, например, всех социальных сетей?
|
|
|
|
|
mai62
|
|
« Ответ #306 : 13 сентября 2011, 22:44:12 » |
|
Измените расширение так --[[ <HCExtension> @name BlackListDisabler @author mai62 @version 0.01 @description Отключает Черный список для заданных пользователей @event RequestHeaderReceived/request </HCExtension> ]]
function request() if hc.user_name == 'user1' and not re.find(hc.url, [[vcontacte\.ru|twitter\.ru]], 0) then hc.white_mask="Ч" end end Список запрещенных сайтов расширяйте через символ |
|
|
|
|
|
ViKtOrV
Пользователь
Репутация: +0/-2
Offline
Сообщений: 85
|
|
« Ответ #307 : 14 сентября 2011, 00:00:56 » |
|
Спасибо. Работает.
|
|
|
|
|
Enver
Новичок
Репутация: +0/-0
Offline
Сообщений: 46
|
|
« Ответ #308 : 22 октября 2011, 23:41:40 » |
|
Как с помощью handycache сделать такое: Я вписываю слова или выражения в текстовый файл построчно и каждое встреченное слово на сайтах выделяется цветом.
Очень прошу помочь с этой задачкой
|
|
|
|
|
Михаил
|
|
« Ответ #309 : 23 октября 2011, 00:53:35 » |
|
Пожалуй, только с помощью СМ...
|
|
|
|
|
Enver
Новичок
Репутация: +0/-0
Offline
Сообщений: 46
|
|
« Ответ #310 : 23 октября 2011, 07:57:43 » |
|
Хорошо, запощу в его топике. Здесь мой пост просьба удалить
|
|
|
|
|
HKLM
|
|
« Ответ #311 : 26 декабря 2011, 10:06:55 » |
|
Для чего нужно расширение My 407-answer? Из описания не очень понятно: "Заменяет запрос в ответе 407".
|
|
|
|
|
mai62
|
|
« Ответ #312 : 26 декабря 2011, 14:05:03 » |
|
Ответ 407 выдается когда нужно запросить пароль у пользователя. Это расширение позволяет заменить текст, который выводится при запросе пароля.
|
|
|
|
|
Zoynels
Новичок
Репутация: +1/-0
Offline
Сообщений: 42
|
|
« Ответ #313 : 25 января 2012, 17:13:07 » |
|
Подскажите пожайлуста, как можно определить кодировку принимаемого текста... И вот мой скрипт "тайм-сервера". он сохраняет одновременно в два места, при чём второй файл сохраняется с датой, таким образом не потеряется затёртая информация... Может кому и пригодится...
|
|
|
|
|
mai62
|
|
« Ответ #314 : 25 января 2012, 18:48:06 » |
|
Ищите в заголовке ответа строку типа Content-Type: text/html; charset=utf-8
|
|
|
|
|
Zoynels
Новичок
Репутация: +1/-0
Offline
Сообщений: 42
|
|
« Ответ #315 : 25 января 2012, 20:07:44 » |
|
Так и думал, а другого способа нет? Просто не факт что кодировка записывается каждый раз, или всё таки всегда?
|
|
|
|
|
mai62
|
|
« Ответ #316 : 25 января 2012, 21:22:26 » |
|
Еще в коде страницы может быть строка вроде такой <META content="text/html; charset=windows-1251" http-equiv=Content-Type>
Наличие и правильность этой информации, конечно, никто не гарантирует. Все зависит от добросовестности администратора сервера.
|
|
|
|
|
|
|
mai62
|
|
« Ответ #319 : 12 февраля 2012, 20:57:18 » |
|
У меня оно работает. Или Вы его изменили и в таком виде оно не работает, или вы поставили неправильный диагноз.
|
|
|
|
|
|