занятно.. только zooming падает или и rotation так же?
я и не делаю ничего такого..
20 шагов с интервалом в 5 миллисекунд по формуле: style.transform = 'scale(' + ((20-step)/20) + ')';
блин.. а у меня не воспроизводиться.. как бы пролечить?
обновитесь из дропбокса: сделал полный русский перевод, добавил кнопку мгновенного перевода (при вводе текста) и изменил поведение кнопок озвучки
https://www.dropbox.com/s/hkr5q8lsicvfa … .03-fx.xpi
Отсутствует
используйте стили...
вот шаблон html:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html [ <!ENTITY % s3gtDTD SYSTEM "chrome://s3gt/locale/s3gt.dtd"> %s3gtDTD; <!ENTITY % s3gtTooltipDTD SYSTEM "chrome://s3gt/locale/s3gt_tooltip.dtd"> %s3gtTooltipDTD; ]> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <head> <meta charset="UTF-8" /> <link rel="stylesheet" href="chrome://s3gt/skin/s3gt_tooltip.css" type="text/css" /> <script type="application/x-javascript" src="chrome://s3gt/content/nsUserSettings.js" /> <script type="application/x-javascript" src="chrome://s3gt/content/thtml.js"/> <script type="application/x-javascript" src="chrome://s3gt/content/utils.js" /> <script type="application/x-javascript" src="chrome://s3gt/content/prefs.js" /> <script type="application/x-javascript" src="chrome://s3gt/content/sound.js" /> </head> <body oncontextm1enu="event.preventDefault();event.stopPropagation();" style="padding: 0; margin:0px; background-color: transparent;"> <div id="s3gt_translate_tooltip_body" style="position:absolute;padding:0;margin:5px;border:0;"> <div id="s3gt_translate_tooltip" class="s3gt_translate_tooltip"> <div id="s3gt_translate_tooltip_head" is_movable="true" onmousedown="s3gt.thtml.move_mouse_down(event);" onmouseup="s3gt.thtml.move_mouse_up(event);"> <div id="s3gt_translate_tooltip_head_close" class="s3gt_translate_tooltip_head_button" onclick="s3gt.thtml.remove_click(event);" title="&s3gt.translate.button.close;"></div> <div id="s3gt_translate_tooltip_head_minimize" class="s3gt_translate_tooltip_head_button" onclick="s3gt.thtml.minimize(event);" title="&s3gt.translate.button.minimize;"></div> <div id="s3gt_translate_tooltip_head_exchange" class="s3gt_translate_tooltip_head_button" onclick="s3gt.thtml.exchange(event);" title="&s3gt.translate.button.exchange.tooltip;"></div> <div id="s3gt_translate_tooltip_head_settings" class="s3gt_translate_tooltip_head_button" onclick="s3gt.thtml.settings_open(event);" title="&s3gt.preference;"> <div id="s3gt_translate_tooltip_settings_box"> <table> <tr><td align="right">&s3gt.tooltip.settings.theme;</td><td><select id="s3gt_translate_tooltip_settings_theme" class="s3gt_translate_tooltip_select"> <option value="light">&s3gt.tooltip.settings.theme_light;</option> <option value="dark">&s3gt.tooltip.settings.theme_dark;</option> <option value="custom">&s3gt.tooltip.settings.theme_custom;</option> <option value="custom_file">&s3gt.tooltip.settings.theme_custom_file;</option> <option value="custom_url">&s3gt.tooltip.settings.theme_custom_url;</option> </select></td></tr> <tr><td align="right">&s3gt.tooltip.settings.animation_effect;</td><td><select id="s3gt_translate_tooltip_settings_animation" class="s3gt_translate_tooltip_select"> <option value="rotation">&s3gt.tooltip.settings.animation_rotation;</option> <option value="zooming">&s3gt.tooltip.settings.animation_zooming;</option> <option value="transparency">&s3gt.tooltip.settings.animation_transparency;</option> <option value="disabled">&s3gt.tooltip.settings.animation_disabled;</option> </select></td></tr> <tr><td align="right">&s3gt.tooltip.settings.font_size;</td><td><select id="s3gt_translate_tooltip_settings_font_size" class="s3gt_translate_tooltip_select"> <option value="">100%</option> <option value="110%">110%</option> <option value="120%">120%</option> <option value="125%">125%</option> <option value="130%">130%</option> <option value="140%">140%</option> <option value="150%">150%</option> </select></td></tr> <tr><td align="right"><div id="s3gt_translate_tooltip_settings_tooltip_mini" class="s3gt_translate_tooltip"></div><span>&s3gt.tooltip.settings.tooltip_size;</span></td> <td><select id="s3gt_translate_tooltip_settings_tooltip_size" class="s3gt_translate_tooltip_select"> <option value="">100%</option> <option value="110%">110%</option> <option value="120%">120%</option> <option value="125%">125%</option> <option value="130%">130%</option> <option value="140%">140%</option> <option value="150%">150%</option> </select></td></tr> <tr><td align="right">&s3gt.tooltip.settings.save_position;</td><td><select id="s3gt_translate_tooltip_settings_save_position" class="s3gt_translate_tooltip_select"> <option value="false">&s3gt.tooltip.settings.no;</option> <option value="true">&s3gt.tooltip.settings.yes;</option> </select></td></tr> <tr><td colspan="2" align="right"> <button id="s3gt_translate_tooltip_settings_open" class="s3gt_translate_tooltip_button" onclick="s3gt.prefs.open_prefs();">&s3gt.tooltip.settings.open;</button> <button id="s3gt_translate_tooltip_settings_close" class="s3gt_translate_tooltip_button">&s3gt.tooltip.settings.close;</button><br/> <a href="javascript: void(0);" id="s3gt_translate_tooltip_donate" onclick="s3gt.thtml.go_donate();">&s3gt.donate;</a> </td></tr> </table> </div> </div> <div id="s3gt_translate_tooltip_view_reverse" class="s3gt_translate_tooltip_head_button" onclick="s3gt.thtml.view_reverse_click(event);" title="&s3gt.translate.button.view_reverse;"></div> <div id="s3gt_translate_tooltip_view_source" class="s3gt_translate_tooltip_head_button" onclick="s3gt.thtml.view_source_click(event);" title="&s3gt.translate.button.view.source;"></div> <div id="s3gt_translate_tooltip_head_fly" class="s3gt_translate_tooltip_head_button" onclick="s3gt.thtml.fly_click(event);" title="&s3gt.translate.button.instant.selected;"></div> <div id="s3gt_translate_tooltip_head_pin" class="s3gt_translate_tooltip_head_button" onclick="s3gt.thtml.pin_click(event);" title="&s3gt.translate.button.pin;"></div> <div id="s3gt_translate_tooltip_head_logo" is_movable="true" class="s3gt_translate_tooltip_head_button" title="&s3gt.name;"></div> <span id="s3gt_translate_tooltip_name" is_movable="true">&s3gt.name;</span> </div> <div id="s3gt_translate_tooltip_separator"></div> <div class="s3gt_translate_tooltip_txt_block" id="s3gt_translate_tooltip_txt_from_box"> <div class="s3gt_translate_tooltip_txt_box" style="display: none;" contentEditable="true" oncontex1tmenu="alert(5);" id="s3gt_translate_tooltip_txt_from2">555</div> <textarea class="s3gt_translate_tooltip_txt_box" id="s3gt_translate_tooltip_txt_from" spellcheck="false" oninput="s3gt.thtml.text_from_input(event);"></textarea> <div class="s3gt_translate_tooltip_txt_control"> <button id="s3gt_translate_tooltip_txt_flag_from" class="s3gt_translate_tooltip_button s3gt_translate_tooltip_txt_flag"></button> <div id="s3gt_translate_tooltip_txt_flag_from_box" class="s3gt_translate_tooltip_txt_flag_box"> <select id="s3gt_translate_tooltip_lang_from" class="s3gt_translate_tooltip_select" onkeyup="s3gt.thtml.set_lang_icon(this);" title="&s3gt.translate.lang.from;"></select> <input id="s3gt_translate_tooltip_save_last_lang_from" type="checkbox" onclick="s3gt.thtml.save_last_lang_from_view_click(event);" title="&s3gt.translate.lang.remember;"/> <button id="s3gt_translate_tooltip_button_move_top" class="s3gt_translate_tooltip_button" onclick="s3gt.thtml.lang_list_from_top();"></button> <button id="s3gt_translate_tooltip_txt_lang_close_from" class="s3gt_translate_tooltip_button"></button> </div> <button id="s3gt_translate_tooltip_txt_copy_from" class="s3gt_translate_tooltip_button" title="&s3gt.translate.button.copy.text;"></button> <button id="s3gt_translate_tooltip_txt_sound_from" class="s3gt_translate_tooltip_button" onclick="s3gt.thtml.sound_play(event, 'from');" title="&s3gt.translate.button.sound.play;"></button> <button id="s3gt_translate_tooltip_txt_sound_off_from" class="s3gt_translate_tooltip_button" title="&s3gt.translate.button.sound.stop;"></button> <button id="s3gt_translate_tooltip_button_exchange" class="s3gt_translate_tooltip_button" onclick="s3gt.thtml.translate_exchange(event);" title="&s3gt.translate.button.reverse;"></button> <button id="s3gt_translate_tooltip_button_instant_translate" class="s3gt_translate_tooltip_button" onclick="s3gt.thtml.instant_click(event);" title="&s3gt.translate.button.instant.translate;"></button> <button id="s3gt_translate_tooltip_button_run" class="s3gt_translate_tooltip_button" onclick="s3gt.thtml.translate_run(event);">&s3gt.translate.button.custom;</button> </div> </div> <div class="s3gt_translate_tooltip_txt_block" id="s3gt_translate_tooltip_txt_to_box"> <textarea class="s3gt_translate_tooltip_txt_box" id="s3gt_translate_tooltip_txt_to" readonly="true"></textarea> <div class="s3gt_translate_tooltip_txt_control"> <button id="s3gt_translate_tooltip_txt_flag_to" class="s3gt_translate_tooltip_button s3gt_translate_tooltip_txt_flag"></button> <div id="s3gt_translate_tooltip_txt_flag_to_box" class="s3gt_translate_tooltip_txt_flag_box"> <select id="s3gt_translate_tooltip_lang_to" class="s3gt_translate_tooltip_select" onkeyup="s3gt.thtml.set_lang_icon(this);" title="&s3gt.translate.lang.to;"></select> <button id="s3gt_translate_tooltip_txt_lang_close_to" class="s3gt_translate_tooltip_button"></button> </div> <button id="s3gt_translate_tooltip_txt_copy_to" class="s3gt_translate_tooltip_button" title="&s3gt.translate.button.copy.text;"></button> <button id="s3gt_translate_tooltip_txt_sound_to" class="s3gt_translate_tooltip_button" onclick="s3gt.thtml.sound_play(event, 'to');" title="&s3gt.translate.button.sound.play;"></button> <button id="s3gt_translate_tooltip_txt_sound_off_to" class="s3gt_translate_tooltip_button" title="&s3gt.translate.button.sound.stop;"></button> <div id="s3gt_translate_tooltip_wait"></div> </div> </div> <div class="s3gt_translate_tooltip_txt_block" id="s3gt_translate_tooltip_txt_reverse_box"> <textarea class="s3gt_translate_tooltip_txt_box" id="s3gt_translate_tooltip_txt_reverse" readonly="true"></textarea> <div class="s3gt_translate_tooltip_txt_control"> <button id="s3gt_translate_tooltip_txt_flag_reverse" class="s3gt_translate_tooltip_button s3gt_translate_tooltip_txt_flag"></button> <div id="s3gt_translate_tooltip_txt_flag_reverse_box" class="s3gt_translate_tooltip_txt_flag_box"> <select id="s3gt_translate_tooltip_lang_reverse" class="s3gt_translate_tooltip_select" onkeyup="s3gt.thtml.set_lang_icon(this);" title="&s3gt.translate.lang.to;"></select> <input id="s3gt_translate_tooltip_save_last_lang_reverse" type="checkbox" onclick="s3gt.thtml.save_last_lang_reverse_view_click(event);" title="&s3gt.translate.lang.remember;"/> <button id="s3gt_translate_tooltip_txt_lang_close_reverse" class="s3gt_translate_tooltip_button"></button> </div> <button id="s3gt_translate_tooltip_txt_copy_reverse" class="s3gt_translate_tooltip_button" title="&s3gt.translate.button.copy.text;"></button> <button id="s3gt_translate_tooltip_txt_sound_reverse" class="s3gt_translate_tooltip_button" onclick="s3gt.thtml.sound_play(event, 'reverse');" title="&s3gt.translate.button.sound.play;"></button> <button id="s3gt_translate_tooltip_txt_sound_off_reverse" class="s3gt_translate_tooltip_button" title="&s3gt.translate.button.sound.stop;"></button> <div id="s3gt_translate_tooltip_wait"></div> </div> </div> <div id="s3gt_tooltiptxt"></div> </div> </div> </body> </html>
#s3gt_translate_tooltip:not([is_mini='true']) { background-color: #353431; color: #E6E6E6; border: 1px solid #CCCCCC; box-shadow: 0 0 5px 2px rgba(40,40,40,0.7); } #s3gt_translate_tooltip_txt_from { color: #F0EFEE; } #s3gt_translate_tooltip_txt_to { color: #C7DCEB; } #s3gt_translate_tooltip_txt_reverse { color: #E8C2B5; } .s3gt_translate_tooltip_head_button { background-color: #8E8A82 !important; } .s3gt_translate_tooltip_head_button:hover { background-color: #FF5353 !important; } .s3gt_translate_tooltip_txt_block:hover * { background-color: #44423E; } #s3gt_translate_tooltip_settings_box { background-color: #5E005E; } .s3gt_translate_tooltip_txt_flag_box { background-color: #353431; } #s3gt_translate_tooltip_donate { color: #60CCFB; } #s3gt_translate_tooltip_donate:hover { color: #FC4738; }
Отсутствует
и что?
Мне эти правила дал лично Владимир Палант, после моего письма к нему.
Вот, храню на всякий случай. Как оказалось - пригодилось
Wladimir Palant (3 апреля 2014)
См. https://adblockplus.org/en/IAdblockPlus - метод updateExternalSubscription().
Александр Попов (3 апреля 2014)
так использовать?
updateExternalSubscription('s3translator', 's3translator', ['translate.googleapis.com'] )
Wladimir Palant (3 апреля 2014)
Почти:
updateExternalSubscription('s3translator', 's3translator', ['@@||translate.googleapis.com^$document'])
Это тот фильтр, который Adblock Plus создает, если выбрать "Отключить на
translate.googleapis.com" в его меню. Синтаксис фильтров описан здесь:
https://adblockplus.org/ru/filters
Отредактировано pag77 (25-07-2015 00:00:23)
Отсутствует
pag77
Ну, у меня-то нет претензий (разве что эту опцию стоило бы в настройки вынести, и удалять правила после закрытия вкладки, а не браузера), как я там сказал. Но может вам стоит там отписаться, во прояснение.
Отсутствует
Ну там как получилось - зимой-весной прошлого года посыпался шквал жалоб и на почту и на отзывы на АМО о том, что мой аддон перестал переводить сайты.
После разбирательств выяснилось что это адблокер блокирует гугл-домены, причем не рекламные, а от гугл-перевода.
похоже что какой-то умник в одном из листов подписок с перепугу всунул абсолютно все домены гугла, кроме, разве что гмейл и гугл-поиск
с начало я боролся тихо - не работает? адблок стоит? добавьте правило для translate.googleapis.com. не знаете как? блин.. хорошо, вот инструкцию написал.
но после сотого-двухсотого письма я понял что целыми днями только тем и занимаюсь, что веду переписки.
юзеры ж разные бывают и в основной своей массе они не знают, да им это и не надо, про всякие настройки, фильтра, about:config и т.д.
и пока каждому объяснишь через 3-5 писем - вспотеешь.
особенно если это итальянец-португалец-китаец который общается со мной через гугл-переводчик.
в итоге я сделал временное отключение нужных мне, и вполне безобидных, доменов '@@translate.googleapis.com', '@@translate.google.com'
и сразу шторм утих и я опять смог заниматься ничегонеделанием разработкой новых багов в своих аддонах
Но может вам стоит там отписаться, во прояснение.
где? на этом форуме на ветке адблока?
не хочу мне уютно и комфортно в моей ветке а там злые все - сразу бить будут, может быть даже ногами...
если хочешь - скопипасть туда предысторию почему это так получилось
Добавлено 25-07-2015 00:31:40
ЗЫ: обновите версию из дропбокса: немного поменял основное окно настроек, сделал вкладку Действия, добавил туда настройки при работе с выделенным текстом
Отредактировано pag77 (25-07-2015 00:31:40)
Отсутствует
Баг: после нажатия "глобальные настройки" в тултипе, пропадает кнопка расширения с панели навигации.
точно! а я еще думаю - куда она все время пропадает?? ))
пофиксил - обновите версию из дропбокса
Добавлено 25-07-2015 01:11:30
зы:
ты опять все стили перелопатил или надоело уже за мной гнаться? )
лопатишь стилишем по прежнему или теперь через встроенные методы переводчика?
Отредактировано pag77 (25-07-2015 01:11:30)
Отсутствует
pag77
Перелопатил.
Пока через Stylish, на скорую руку. Потом попробую посмотреть уже ресурсы и сделать как полагается.
/*AGENT_SHEET*/ .s3gt_translate_tooltip, #s3gt_translate_tooltip_settings_box, #s3gt_tooltiptxt{ -moz-appearance: none !important; background: none !important; border: none !important; box-shadow: none !important; border-radius: 0!important; padding: 10px 10px 14px !important; color: #fff!important; } #s3gt_translate_tooltip_body, #s3gt_translate_tooltip_settings_box, #s3gt_tooltiptxt{ opacity: 0.95 !important; -moz-appearance: none !important; background: none !important; border: none !important; border-radius: 0!important; color: #fff !important; box-shadow: none !important; -moz-window-shadow: none !important; border-image-source: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAvCAYAAABAHIylAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAHoSURBVHja7JrBbhMxEIa/2ToNISoiIJUjF16HE4/KK3DmQeAQKgrbZrNrDvk3HVZtcZFAynp+ybKT+OJPM+NxZgxoACPklcc5CU4DnAWXo/YjpCQwZ8AyuBx1I0gkZ07nzpqGCl1v0NyKxQAMyYHYyZLWwAvgnQDWoEvgM/BVYPpxJKBzG5fASpDe5pw/1UDHzN44r2lkLD3QNRFuGEONOUC//fBHbTabj3Okst1u35eQK9Jqtfo+Jzht216U7AsXKwBkkUmHBQWgfwkou+Ror7xopxGAxlxpkgfE43USpO+DFIF7YkEeUm03W3aPdvzaB2mbrGsCZPecP26xuOYDUAAKQAEoAAWgABQKQAHof7zFala8xcLFAlAACkCnqOLSc2mptkpAJUX+WlzM18hq0zBJEo89iufOkpbABYcC4qWZfXCb7ZEsFE77T/6eQ9PYFzH4ISYLA16J3hp4BrzUeM1d8bDn4ULiHABdcWjcvAKutb4G9kkf1tq4kEXdAN+eAOjUS0Q/BQcOJfdbnTmPLtbry+fauJCblT70mAGknc7QykAS0I1twDsF7FZzr02lgOZQZMw6t+nsS+A2yXLGG60DZtVq9xfquOtRyMlZQONgPZX8nMrUvQM1mOJNtLo8AMsCzuP6NQAAqXeLHHm/mAAAAABJRU5ErkJggg==") !important; border-image-slice: 15 fill !important; border-image-width: 15px !important; border-image-repeat: repeat !important; } #s3gt_translate_tooltip_head { background: none !important; } .s3gt_translate_tooltip_txt_flag_box[is_show="true"] { background: black !important; } .s3gt_translate_tooltip_head_button, .s3gt_translate_tooltip_head_button:hover, .s3gt_translate_tooltip_button:not(#s3gt_translate_tooltip_button_run), .s3gt_translate_tooltip_button:not(#s3gt_translate_tooltip_button_run):hover { line-height: unset!important; border: .5px solid transparent!important; border-radius: 0!important; box-shadow: none!important; background-color: transparent!important; transition: filter 200ms ease!important; } .s3gt_translate_tooltip_head_button:not(#s3gt_translate_tooltip_head_settings), :not(:-moz-any(#s3gt_translate_tooltip_button_run,[id^="s3gt_translate_tooltip_settings"])).s3gt_translate_tooltip_button { filter: invert(.2) opacity(.8) brightness(1.4)!important; } .s3gt_translate_tooltip_head_button:not(#s3gt_translate_tooltip_head_settings):hover, :not(:-moz-any(#s3gt_translate_tooltip_button_run,[id^="s3gt_translate_tooltip_settings"])).s3gt_translate_tooltip_button:hover { filter: invert(.2) opacity(1) brightness(1.5)!important; } #s3gt_translate_tooltip_head_settings { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAABZSURBVHjalJJBEsAgCAMNX5Zn2DenJxykUIcc15iAI0iOjiSDqpOqk9cLmSky2EhVommtB0eDgT/zbojpZsi4jKbgn7Xaw48kN3M8+yzt0zImVXXF0P0a7wBYJzpR545UFQAAAABJRU5ErkJggg==')!important; } #s3gt_translate_tooltip_head_settings:hover { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAABZSURBVHjalJJBEsAgCAMNX9VnyVvTEw6lUIcc15iAI0iOjiSDqpuqm9cLmSky2EhVomnOhVeDgT/zaYjpZsi4jKbgn7Xaw48kN3M8+yzt0zImVXXF0P0azwBBYzlbQlrTqAAAAABJRU5ErkJggg==')!important; } #s3gt_translate_tooltip_head_close { background: scroll transparent url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAiklEQVQ4je2Q0QmAMAxE+9EBAg2Ic7iB/rhC6AiOl1GyQ9c4f6S0FW1/BQ/uJ3CP3Dn36yYAO4AEIBS3cN32EUAqHIpwApC6gBjj1kCyRWQdaeFFZH0I+xGAM7OpBZjZNBQGwE8VymHfANXbbZ0uQFWPpnPeRFWPLoCIiHleXD2YZ54XIqIu4Hs6AUUKuu8bBoKXAAAAAElFTkSuQmCC') center center / 16px 16px no-repeat!important; } #s3gt_translate_tooltip_button_run, [id^="s3gt_translate_tooltip_settings"].s3gt_translate_tooltip_button{ background: transparent!important; border: none!important; border-radius: 0!important; box-shadow: none!important; color: #fff!important; } #s3gt_translate_tooltip_button_run, [id^="s3gt_translate_tooltip_settings"].s3gt_translate_tooltip_button{ background: transparent linear-gradient(rgba(99,99,99,0.92),rgba(48,48,48,0.92),rgba(88,88,88,0.92)) !important; border: solid .5px #555 !important; } #s3gt_translate_tooltip_button_run:hover, [id^="s3gt_translate_tooltip_settings"].s3gt_translate_tooltip_button:hover{ background: linear-gradient(to bottom, #6f81f5, #3f51f2) repeat-x !important; border-color: #6f81f5!important; } #s3gt_translate_tooltip_txt_to_box, #s3gt_translate_tooltip_txt_from_box, #s3gt_translate_tooltip_txt_reverse_box { background: none!important; border: none!important; } #s3gt_translate_tooltip_txt_to, #s3gt_translate_tooltip_txt_from, #s3gt_translate_tooltip_txt_reverse, .s3gt_translate_tooltip_txt_control { -moz-appearance: none!important; background: none!important; color: rgb(242,242,242)!important; border: .5px solid #555!important; } #s3gt_translate_tooltip_txt_reverse:focus, #s3gt_translate_tooltip_txt_to:focus, #s3gt_translate_tooltip_txt_from:focus { border-color: rgb(0,149,221)!important; } .s3gt_translate_tooltip_select { -moz-appearance: none!important; border: solid .5px #555 !important; background-color: rgba(22,22,22,0.92) !important; box-shadow: inset 0 0 6px 2px rgba(88,88,88,0.62)!important; } #s3gt_translate_tooltip option { -moz-appearance: none!important; background-color: transparent!important; color: #fff!important; } #s3gt_translate_tooltip option:hover { background-color: #6f81f5!important; } #s3gt_translate_tooltip input[type="checkbox"] { -moz-appearance: none!important; border: solid 1px #555 !important; color: #fff!important; background-color: #222!important; box-shadow: inset 0 0 1px 3px rgba(0,0,0,0.62)!important; } #s3gt_translate_tooltip input[type="checkbox"]:hover, #s3gt_translate_tooltip input[type="checkbox"]:checked { border-color: rgb(0,149,221)!important; }
pag77, а анимация все-таки мучительно медленная. Раза в два бы быстрее, и без задержки начала.
Отсутствует
Странное дело, если для кнопки настроек задать стиль с opacity или filter, то #s3gt_translate_tooltip_settings_box становится проницаемым для курсора, либо его перекореживает. И не могу понять, в чем дело. Пришлось ее иконку просто перерисовать.
т.е. нажатия не отрабатываются?
а если боксу прописать видимость=1?
pag77, а анимация все-таки мучительно медленная. Раза в два бы быстрее, и без задержки начала.
там 20 тактов по 5 миллисекунд.
видимо у тебя комп долго отрисовывает каждый такт..
или что значит "мучительно медленная"?
у меня меньше секунды отрабатывает....
Отсутствует
pag77
Вот. У меня железо, в общем-то неслабенькое и аппаратное ускорение в браузере задействовано. Если это дольше, чем должно быть, то, видимо, у меня проблемы. А если так и должно быть, то, на мой взгляд, - слишком долго.
т.е. нажатия не отрабатываются?
а если боксу прописать видимость=1?
Не отрабатывают, только если <1. Вот (с z-index'ами там порядок). А если через filter, то просто скукоживается. Черт его знает, как это.
Отсутствует
pag77
Может быть. Просто странно, что задание родительскому элементу простой прозрачности или svg-эффектов к такому приводит.
В общем, черт с ним. Не буду больше вас всякой ерундой отвлекать. Спасибо.
Отсутствует
Вот. У меня железо, в общем-то неслабенькое и аппаратное ускорение в браузере задействовано. Если это дольше, чем должно быть, то, видимо, у меня проблемы. А если так и должно быть, то, на мой взгляд, - слишком долго.
обновите версию из дропбокса - добавил в настройки скорость анимации: очень быстро, быстро, нормально, медленно, очень медленно.
какой из вариантов вас теперь полностью устраивает?
Отсутствует
pag77
Еще маленький баг: при закрытии тултипа кнопкой закрытия, фокус не возвращается на выделенный текст.
А, и даже вообще на страницу. Неудобно очень, для навигации клавиатурой.
О, и еще: в нижней панели, в менюпопапе у #s3gt-text-translate-lang-list-from, флажки языков пропадают, если стоит "определить автоматически".
Отредактировано turbot (25-07-2015 04:07:26)
Отсутствует
ок, поправлю попозже.
а пока наваял еще чуток функционала - чтение выделенного текста.
иконка отображается рядом с круглой иконкой перевода
отключить иконку звука пока низзя - чуть попозже прикручу настройки.
https://www.dropbox.com/s/hkr5q8lsicvfa … .03-fx.xpi
Отсутствует
чтение выделенного текста
Это ж моя "хотелка"
pag77, а нельзя ли прикрутить возможность озвучки переводимого слова\фразы? В основном я использую переводчик, чтобы переводить с английского на русский - зачем мне озвучка русского перевода?
Вот только у меня перевод при долгом клике по выделению, иконка отключена. Может кнопочку к окошку таки прикрутить?
Отсутствует
Это ж моя "хотелка" http://www.kolobok.us/smiles/icq/smile.gif
у меня это в планах было давным давно, но раз уж делается практически новый интерфейс в 5.01, то почему бы не напичкать версию по максимуму,
что бы оторваться от конкурирующих аддонов?
а то переводчиков много, хочется быть самым лучшим..
Вот только у меня перевод при долгом клике по выделению, иконка отключена. Может кнопочку к окошку таки прикрутить? http://www.kolobok.us/smiles/icq/smile.gif
я ж написал - настройки прикручу попозже.
будет вариант настроек:
выделение текста - отобразить значки:
[x] перевод
[x] звук
выделение текста - длинный клик:
(*) выполнить перевод
( ) выполнить озвучку
( ) показать значки
___[x] перевод
___[x] звук
пока так на ум пришло.. может подскажете еще варианты или этого достаточно?
Отсутствует