korosya Цитата: А почему тогда работает из этих полей пункт "Перейти по ссылке" (в качестве ссылке может быть любое выделение). Ведь по сути в этом пункте выделенный текст вставляется в адресную строку
Вот этот пункт:
Item, "Перейти по ссылке"="Go to Page, "javascript:void(inivar='%t')",,, ...вырезано...
Не подтверждаю. Попробовал добавить упомянутый в цитате пункт меню в секцию
[Edit Go Widget Popup Menu] - чтобы пункт отобразился в меню редактирования текста ЗА ПРЕДЕЛАМИ веб-страницы, а именно в текстовых полях интерфейса самой Оперы (например в заметках, в адресной строке, в поисковой панели там где поисковики выбираются и т.д.). Результат - в этих полях не работает. Код на Javascript попросту не выполняется. Вывод - выкрутасы с javascript работают только в контексте веб-страницы (другими словами, в контексте "Document Window" по терминологии Opera). За пределами веб-страницы (т.е. в оболочке/интерфейсе самого браузера) все манипуляции с выделенным текстом возможны только через буфер обмена (команда Copy, а дальше через переменную %c).
Но в
[Edit widget popup menu] (в меню редактирования текста в пределах веб-страницы, например меню редактирования поста на форуме ru-board) - действительно, оно работает. Да, собственно, все навороты типа BBcode-кнопок и тому подобного основаны на похожем принципе (и работают).
Да я и сам не настолько "волоку" в JS чтобы быстро решить задачку. Может знатоки подскажут ?
Задача: вытащить значение внутренней оперной переменной
%t (выделенный текст) и передать его в javascript-код:
"javascript:void(window.open('https://www.youtube.com/results?search_query='+encodeURIComponent(document.getSelection())));" & Delay, 100 & Minimize page где вместо
(document.getSelection()))) должна подставляться javascript-переменная, значение которой взято из
%t Ау, знатоки javascript!
regist123 Цитата: Не знаю может post запрос и уникальный, но от наличия регистрации точно не зависит. И сейчас для теста зашёл не авторизованным на вкладку поиск - нормально ищет по хешу.
Я зарегистрировался на Virustotal. Уникальный token выдается каждый раз новый, а именно при каждом новом входе под своей учетной записью на сайте VT. Если не делать выход из своей учетки на VT, по идее, token должен оставаться неизменным.
Цитата: Регистрация даёт некоторые преимущества, но поиск отчёта по хешу файла к ним не относится (это есть и у не авторизованных).
Так может и искать (по хэшу файла) тогда без токена? Вот рабочий пункт (ищет по хэшу на новой вкладке):
Item, "Найти хэш на VT"=External action,,,,"Find" & Go to Page, "javascript:void(window.open('https://www.virustotal.com/ru/search/?query='+encodeURIComponent(document.getSelection())));" Попробовал искать информацию на VT по хэшу старого трояна - все работает.
Для поиска в фоновой вкладке, добавляем в конец пункта
& Delay,100 & Minimize page Цитата: тоже сначала пробовал такую строку, но по сути это обычная строка без указания post запроса, а как следствие не работает.
С букмарклетом как получить нужную строку не разобрался. Перехожу на вкладку поиск - запускаю букмарклет - он говорит, что там 6 символов в запросе заменено, жму Ок - нажимаю Поиск - перекидывает на страничку отчёта по файлу, в адресной строке явно ссылка на отчёт по файлу, то есть на поисковый запросы совсем не похоже.
Букмарклет прекрасно отрабатывает. Почему не видно полного запроса в адресной строке (URL)? На сайте срабатывает переадресация и содержимое адресной строки заменяется. Но если отключить в Опере опцию
opera:config#UserPrefs|ClientPull (переадресация) все прекрасно видно. Вот так выглядит полный URL post-запроса (искомый поисковой запрос):
https://www.virustotal.com/ru/search/?csrfmiddlewaretoken=6061ea372f6dba4d4ef4769d87cd3a6b&query=33e10314899a5b890a25f8cd85d67e67 Где:
6061ea372f6dba4d4ef4769d87cd3a6b - token, каждый раз другой при каждом новом входе (под своей учеткой) на сайт VT
33e10314899a5b890a25f8cd85d67e67 - сам запрос, в данном примере, это хэш реально существовавшего вируса
Склоняюсь к мнению, что подставлять token в поисковой запрос с помощью url вовсе не обязательно, а достаточно просто ограничиться одним запросом
/search/?query=ИСКОМЫЙ_ХЭШ. Если в Опере еще сидят действующие cookies (выданные VT при входе под своим аккаунтом) - сайт сам выдаст нам нужный токен.