Адресная строка как в Яндекс Браузере
-
@sphera said in Адресная строка как в Яндекс Браузере:
зря ты ко мне прицепился.
Я к тебе?))) (https://forum.vivaldi.net/post/758322)
@sphera said in Адресная строка как в Яндекс Браузере:
Я говорил про . textContent, которых никто не будет обфусицировать.
@sphera said in Адресная строка как в Яндекс Браузере:
Ну если .textContent там нет, да зачем он там.
Ты и ответил сам себе)
-
@Capushon said in Адресная строка как в Яндекс Браузере:
Предложи другой вариант.
Твой вариант — самый простой в реализации, но самый тяжелый в эксплуатации. Если делать нормально, то я бы предложил написать мод, который перехватывает нажатие правой кнопки мыши и отрисовывает своё контекстное меню через
vivaldi.contextMenu.open()
.А я всё-таки попробовал сам добавить иконки. Сложность была только в том, чтобы найти правильное место, куда внедрить свой код, и этому мешает именно обфускация. А, вообще, сорри, но нет ничего сложного в том, чтобы найти этот кусок и вставить код, подобный тому, что я закомментил:
default: // switch (o) { // case "DOCUMENT_BACK": // a = [ // "icon_1", // "icon_2" // ] // case "DOCUMENT_FORWARD": // a = [...] // } (t.item = { id: n, action: o, name: i, type: e.items ? "folder" : "command", shortcut: s.Z.getShortcut(e, k), showshortcut: e.showshortcut, url: e.url, enabled: !e.isEnabled || e.isEnabled(Z), persistent: e.persistent, icons: a, }), e.items && (t.children = D(e.items));
С барского плеча немного облегчу тебе жизнь: можно не писать это вручную, а запилить на Python скрипт, который с помощью регулярки будет находить нужное место и вставлять заранее подготовленные иконки, используя те же корявые названия переменных.
Так вот, это я к чему. Чтобы понимать, насколько сложно ковырять обфусцированный код, нужно заниматься чем-то большим, чем добавление иконок. Хотя, даже здесь очевидно, что нормальный код, разбитый на модули и с читаемыми названиями переменных и функций было бы гораздо проще модифицировать.
Кстати, я тут нашел ошибку в коде Floorp, из-за которой не всегда правильно рассчитывается цвет иконки, и на коленке запилил маленький пулл реквест с фиксом, который, как мне сообщили, скоро посмотрят. А в Vivaldi так можно?
-
@aminought said in Адресная строка как в Яндекс Браузере:
Кстати, я тут нашел ошибку в коде Floorp, из-за которой не всегда правильно рассчитывается цвет иконки, и на коленке запилил маленький пулл реквест с фиксом, который, как мне сообщили, скоро посмотрят. А в Vivaldi так можно?
Если вы нашли ошибку в коде Vivaldi, то можете отправить баг-репорт и приложить свой вариант исправления. Если ваш код не ломает работу других функций - он будет принят и применён к коду Vivaldi.
https://vivaldi.com/ru/bugreport/ -
@Shpankov Это понятно, только найти ошибку в обфусцированном коде — это тот еще квест, не говоря уже об исправлении. К тому же, во Floorp я смог написать мод, который выключает затронутый компонент и включает мой, исправленный, чтобы не ждать обновления и не билдить браузер самому.
-
У меня нет претензий к менеджерам и разработчикам Vivaldi, это их выбор — закрывать код, к тому же на горизонте появилась довольно перспективная альтернатива. Претензия только к отрицанию очевидных вещей у отдельных личностей.
-
@aminought said in Адресная строка как в Яндекс Браузере:
Твой вариант — самый простой в реализации
Ждём твой скрин контекстного меню со значками)
-
@Capushon Если только дашь base64 иконок, мне лень их искать. Во Floorp таким заниматься не приходится, иконки контекстного меню через CSS настраиваются.
А, вообще, странно, что ты просишь меня что-то доказывать,
bundle.js
же по-твоему не обфусцирован, а ты его вдоль и поперек изучил, мог и по моему коду понять, что всё работает. -
@aminought said in Адресная строка как в Яндекс Браузере:
Если только дашь base64 иконок
Не вопрос, вот например значки для меню страницы:
Влево:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNElEQVQ4y7WSMW7CQBBF31oWRZALGxcI6CM6jkHJXbhCCm6QhsIX4AJchAOwHaZIALGetZkUkS0rAgsh5VdTzPv6mvnwX5pMJgqwyrJ0lWXpo73wEayqAPT6/RjgY73mW4Sv04kgDPlcLnM6YB2NRvpM0vAvvN/vAVBVhsNhk0RVqefD4WBqxtyDnXNcr1eccxRFAUBRFIgIIsJ8PifPc9MYjMdjtdaiqjjnGtA5h4gANLD3Hu89i8WC4/FoAkCttS9/KwSMMUZVlcvl0kRtRwbw3lOWJWVZUlVVYxDUtzDGvJwgAk6AiaJIrbWICO+zGf58htsNgDT97dJms6GqquYjtXqtWXe7nRIEd3swGAx0u91qkiTa7oG0dsx0Ou0sUfsGXXpokiRJk+BlxXHcafD2rNEPiSa+txKXpfIAAAAASUVORK5CYII="
Вправо:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQUlEQVQ4y72TMW7CQBBFnw0pTKDEGIRrjoBrWl8ruQwVDT2tCy4BDcimtWfXlicFYQWBEIkiX1pppBn9+X9mFp7gc7ns8Qf8Z8lBpwPAZDLR32q6l+BjtepJWTIIAt71XN8NggAoVZUoivRwOHi8gvF4rEVR6Gg0ulNywxjHsaoq+q3gEqsq2+0WESFJEvI89+4I4jjW3W53wy4iVFWFiGCMwRiDtZbFYkFRFJ4jmE6nut/vXVcRcQTGGEQEa617dV2Tpimn08nzeRHr9RpAXyZI0xTA615kAzRN42QDWGud74v0pmlIksTZ7wK0bUtVVVhrmc1mrsvxeATf563fJ9tsqOua+Xx+PfwAgCiKNM/zh3s+36uvWZYpcJ3vuVNWVcqydFbu0LY/OwOULgrDUMMw1Ccz06cTHQ6Hyj/g4df+ApWdvbQpGuccAAAAAElFTkSuQmCC"
Копировать адрес:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAALHRFWHRDcmVhdGlvbiBUaW1lAEN1bSAyNSBOaXMgMjAwMyAwNDo0NzoyNyArMDIwMHcZbg4AAAAHdElNRQfTBBkDDClsrhPNAAAACXBIWXMAAArwAAAK8AFCrDSYAAAABGdBTUEAALGPC/xhBQAAAaBJREFUeNqdUj1Lw1AUfWnyhiCKEJHSxaV0snVz8S90Ezq76uLP0MHF39IP6FjaoRTaoYsUSheHOBRpNDXNR/M89zUvRBRSvHDI5eadcz8Z+6dZliU8zxO5DwuFgsiCYuVyWWy3W+G6rsglZw2hoFKpBOT7vi96vZ7IJVMmx3GEbduiWCxKchzHYjAYEDnOzZyU/VYqlQIVGw6HFHvfl0yWxkajkWyFYpqmiX3IqcB4PJZk6r/b7UoBI0tGvyFcrus6Q59aRkBLstkkADuLokj+MPYgpyKqmjAMGd7/Kj2gwyDfMAzZ4x8iYrVaiWaz+bN/JbBcLmWPi8VC7Z1wAByRT+tstVpK/DiJ7wTw+SDyfD7PHg6t6lyR2+22Er0CLoEL4h/uTtsKZrPZj6tLHktyp9NR5HvgFrgBrmmIpyC/9Pt9jjOlfVFFIYbEMW0aOcO/sF6vc7x9pGSAB+hARJMNptMpr1arjFbDOX9FzATpZLPZMAyWNRqNEP4D4j7wBXwmcLTJZCJqtRqj1ZimSeRnTPhp10Vqd0nWNeAmIH/9DQCqXqDXj5gOAAAAAElFTkSuQmCC"
Сохранить скрин на диск на диск/в буфер:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAllBMVEVHcEwZGRlcXFxTU1NlZWVsbGxycnJycnIZGRktLS09PT0fHx8cHBy+vr6dnZ1ISEjd3d1vcmoBkN0mpd0Elt0uqt0ZoN1RoQBBr909iwCw3d1GmAAAFoteqQAAH48vk91Aj9APnN1YpAAAjN1hvN00l92Gyd1ISEgAMJ54eHhUvt3B3d2d2d0AAwAqktqQxj1tswiUpHiI38GpAAAAEHRSTlMAi/z9/O6F8vb9/fbv+/v3rSDk7AAAAJ1JREFUGNNtztkOgjAURdEySgH1QBlFBimTs/7/z3kbEsHE/daVk5sy9id7s2QrsLBkKTCR50WRpm1ZwlSwXYGuDgTnYO7dwvg5ELww0gEZRtEpEXEG8wmX6ZBShgpi6Ck4M0CDMCIQMO4EeySC5ll26TACHnPRDcPtQF3h7hyNcTRNUz/quu9pT3FMU3WkqmoGf/UPT4HmO980en8AvJQQBuTvRSEAAAAASUVORK5CYII="
Обновить:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAz1BMVEVHcEzPGQJxtFI8oyg/sCGvBgC9LzGHbzWKZx4NjgU/pSsbjw30ajQHnw7/GQDDKwLuKQDrLgOzCwA6oiUQig83oCXnQxjoQBYZoAv5gkcMmQXrTB+xCQD0aTPmJAHcIADRHAD+NgHJFgDMEAC9DwDJFQDlJADZHwDtPhAPmQYipRY/sSpaxS9FsjEcmBFEuSM7oSUOkwVgqFYWhw1mxUpDqS86oif1azX/nV2f7HuD4FDDEwApqxV201FlyjT/SAz/Zij+gURx1Tqa6nKK4V1CPimxAAAAN3RSTlMAKgnv4zcRAgY99yn8bmwa/uRhihHnqooc/NDR0OhORdf+25KyZeT+31S12f3Vlf6nYxhS6fjTCUhjpgAAALZJREFUGNNtj9USwlAMRLeaCt7i7u5yeykO//9NpMgDM+xTcmYjC7As/GrhaFo2CxB9gCfvUjqR7UUI/m4v5ZZgGBEhuPqDgQNKVjLc0kq/7Y8bqfHqTGjwyOx00u310YNFStgB1OlEd6HGfXZ0+y3AHM+XXJsJFUov1eCR0cElCyJRq6ebqTYD+zBkhxBVcTmnk3wF8VKBIIIguA6U9yO2DYpA2fy+yvFiDIr5T5YolGDFcvijJ0A/Ebpp/vPlAAAAAElFTkSuQmCC"
Страницу в закладки:
"iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAA5ElEQVQ4y2NkwAJ2Lur5//vjcwZcgEvJnMHJO4wRxmfBpujF7okMAjquOA25OzMKhY/VECZGBgb/8nlwmw4dOvT/9+/fcPlXRxehqmcgAnBycuKVJ8oQQoCFWIWsrKy0dcmoIWQYcv7Y7v8Xmi0Z/nx+QZ4h54/t/n+2w4OBX9GQ4enKYpwGMeEz4PbKKgZR63iGsImnGWWd0xker8BuECM2A+b4Mf/nUzRiYJfSRclDq/JN/39/94Lh18fnDKmb/jASdAm6AQwMDAxhE08zcgpJMDAy/Ccc2gcWtuBVtbEzCUUeAMNcTP0qjDs8AAAAAElFTkSuQmCC"
Сохранить как...:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAQlBMVEUYGhtPVFkgIiQAAAApKSkbGxz///8AAAAvMTQmJibh4eE+QUbExMS9vb1JTVOdnp+0tLSrq6txdHleYmdWWl/c3NxxY8wqAAAACXRSTlN8////////NVfIjb8LAAAAbElEQVQY023OWw7DMAhEUQq47QRs57n/rca2qohGuX9zJCTIAL0CjFD1faUVhDXCege5Qz/ZImxPsEfYO8Q/Orz+alAKpl+CMoBdxN1zFu5gxs7c5jwLG0h1QJvLMuCrmvJxtFmrJAV9KMX4BN47B4ltx0HZAAAAAElFTkSuQmCC"
Отправить по почте:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEVHcEwxNjz589WNkZHNzbvz7MshJy4WHyf///8SGyPZqG/57sz69Mbj277t5sfExbLZ0rS/uqPqUVH89pvh4MnlvVDz43r6+ehMZm+SZADs16vx5b3HwqmlfxSmpprQ0tT/5pf9rq61trfk5OSYq7KCXwD/2V2Ibxrn2IHwa2t+gHvRpjWbnZj5yU7lMzP0hYXUqDXZWVlJYmtnouvHAAAAAXRSTlMAQObYZgAAAI9JREFUGNN9yMcCgjAQRdGUgYm0AIKASMfe/f+PMwkL0YVv9c4l5M/i+Mddd5z7wun9NjPlQ0+fH1/b5arnqK9t2xR3yilXjxBkQjRVofxohowhQZEl4HlFegZ45cIE5bWzBUjyKdRc2akhscbRBFkdHCnBDxhjJpzIPtqEfmC5rmtCGE3W06EUs5UqLL6Gb9uMCra/+G81AAAAAElFTkSuQmCC"
Создать QR-код для страницы:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEX///+Li4sAAAD2SP3/AAAASklEQVQI12MIBQKGrAVdKxkSlDg4GZIUOjqBrA5OhqxFXCsZHJgaGBkyFJRWMnh0NHEyODB0NQIVN3CClCwEKuZYCFOspMgAMgoAZaQVZZRGi+cAAAAASUVORK5CYII="
Создать Веб-панель страницы:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABzElEQVQ4y5WSTUsbURSGA4IguC248h/4M1xWcOFKRWtT0GiyCIihNGrV1s8iVBDcaCRRErRNyIwTmZgPzTg2oyYRDC0VCgVBEASh0FXh7TnXyRA1I7h45pxz77kPc8+MA4Bj7aVUTTtRJECcmLXDDkcNwfWqcxurQxFwpPrPcwUrgc4Y1j1bCHRFWbD1XAGjhwZifPiSaHhSQI+UeV+LYLeEyHAcwR6q2+7tpWoJEPUp+DqsIDqiiJwJvNm08gqm5LEg4hSbt8S/cJ8C+Z2KwKsQ1nqDFrxmJ/hNyMQL874pyZtEzCtj0xmxUMfS1QIfkSVaag1xOuZKIj1xgC8DUYvMVA7bTvEWFxzj7j3OdT5wRYSJJqKRKGdGNey9TQsS3l3Inh2oI0kczhwhO66JqH3UWfBXzGDHnRUFcSO50jheOIH+IY99v45vM4aoGcVz18cx5dM4/yEEpcUSCp+KOJ0riFzqz1T+gRxLZVdWrG90iGE3E0t8mGgVgvLncxj+I5RmCzgcNWAOtTKTer5rfvLU/jP+XP6O4piB8vwZjAnRqFY11RH5wnTRXvBr5eIeicEcN742m96rbk2s2wkSD39lkzmzKVy1lngo+A+E6Fh+pYy1zQAAAABJRU5ErkJggg=="
Печать:
"iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAe1BMVEUXFxeMjIxddn5uho9cc3pifYaEnaZHcExpg414eXlphI1QanBTbXMzQENbdoHe6OpwcHBFYGXn6Ok9S05aW1ylsrZJWV1wipS4xcm40NiIn6bQ3N82Q0iesLaWp60qLS6EjI94jpdbZ2p1lJ5GUVOsu8COlZjE0NN2lJ70CIzMAAAADnRSTlMZ5x6dhOucAP7+v86u62gOGGwAAACrSURBVBjTZc3bEoIgEIDhNU9gBSqaBHLQPL3/E4ZKTE3fxc7sf7EL+R/Yx6XyLiElVXeokpBuFTqM15DuvcMY6/szZeRH5hKaqTRwMJRylEM2UGmZpyUdMkCypu3HTGuJgHAlHoHQnLgkugk81gmXUqXgi1IppHo2U+NNZtYpFIJP47htL2dsDBcFxMO64PZ50LhchxgSQiymJ4ktIcl+Mlpqz0b+Cy4D7NY3HyoTsG13VZsAAAAASUVORK5CYII="
Полноэкранный режим:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAMFBMVEVHcEwhKDALDhAgJi0ZHyYKDRAhWJJwdH8AAgIaGhri4uL////v8fLV1dUDIUcEGjYDsP7FAAAABnRSTlMAKRJGM25yEQ3tAAAAZUlEQVQI12MohwKG8m9pQJAHZCTMZGCYyQZkZO5kYJg9DciYvXMC5+yd5QwVZ1Zd4F11pp2hvGtFA0fXCqBUxg0Ght42kK4OBoYOkK4EBiBgQzYQZgWToaB5iaCQEoIBlXOAMQIAIToxYs9YPpkAAAAASUVORK5CYII="
Инструменты:
"iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNAay06AAAAAVdEVYdENyZWF0aW9uIFRpbWUAMTkvNS8wOcYlgL0AAAMRSURBVDiNXZNPSCN3FMc/M0msUtdCLGSyNTHQJZUgq6KtsoaeWij0lsWVSisjldEFFbx4E4QlLUU8SVEm7UG7x7YsK1XEatyuhxrqoYi4iLo16mps1n8NNjOT/KaHbhb1Xd7l+z7v+97jSaqq2vX19Q97e3u/4FpomlYPfAV8AJQCBvCzruvtr0Xt7e1zqqrao6OjP1wr7u7q6jqKx+N/WJZlCyHsfD6f7+npSVzWSQWILMsfFZxomlYjy/LMwMBArrKy0pfNZslkMv+MjIy8OD09nQB+AoLAhnTZSQGyurqabWhoCKqq+qFhGGQymfNoNLpvmuaPwCjwyO12y8fHx1m5AJicnPxYCPHrysrK506n815TU5Ni2zamaTI8PLxlmuYkEAVigUCAoaGhJuB9+fI8BYhlWWUOh+OdXC6HEAKXy2UADuAbn8/3dn9//x0hBMAbVwAAxcXF9yRJMlOp1JuGYSCEIBKJlPn9/s/Ky8s/7evra5AkiUwmA/C389rmfcC3Xq83EQqFwqZpAlBXVxeqra1FkiSEEJydnbG4uLgEbDuvGXjo9XrllpaW8PT0NBUVFYRCIdLp9BXR3t7exsLCwnvAl85XnT3A94qiyK2treF4PE51dTWbm5sEAgG2t5fJ5QQulyyePTv+bX193WPbtqrr+oakadpbgK4oys1IJBJOJBI0NjYSDAZJp9PEYl9b+/vnrtLSPEIIPJ5TM5msrNJ1/TmADHynKMrNtra28PLyMs3NzYRCIU5OTojFYk+TyYtfXK554+BgnpqaOG7386K7d3//szCODHzS0dERnpqaIhwO4/f7OTo6YmxsbOnw8DBVVFTUOT5+UOV2O4yZGYn79zfI5bI3Zmdvnxc2f7G1tWXv7OzYhmHYyWTSHhwcfKpp2iPbtgF4lQPd3d5sNOqxX74stufn37VnZ2+fy8Da3NzcE8uy2N3dJRaLLaVSqRdA5+uHkSSAv8bHD6qEKPl3YqKMi4ssjx+f3ZA0TQvy/8veAUqAJ0CnrutXb3cpHjwIXKytmSW3brms/wA+gXCtNBhbZAAAAABJRU5ErkJggg=="
Ждём результат)
-
@Capushon Тебе и трёх хватит. Сложнее было скриншот сделать.
-
@aminought said in Адресная строка как в Яндекс Браузере:
трёх хватит
Молодец, отличная работа)
У меня проще сделано, создаётся на каждый значок константа, потом вставляется в нужные места кода:
-
@Capushon Ожидаемо, но глупо сейчас тешить себя мыслью, что ты этакий манипулятор, когда явно не вывез по аргументам. Строишь хорошую мину при плохой игре?)
У меня проще сделано, создаётся на каждый значок константа, потом вставляется в нужные места кода
Проще некуда, конечно же вставить много мелких кусочков кода в разные места проще, чем один большой кусок в одно место.
-
@aminought said in Адресная строка как в Яндекс Браузере:
глупо сейчас тешить себя мыслью, что ты этакий манипулятор, когда явно не вывез по аргументам. Строишь хорошую мину при плохой игре?)
У тебя какие-то претензии ко мне?
@aminought said in Адресная строка как в Яндекс Браузере:
Проще некуда, конечно же вставить много мелких кусочков кода в разные места проще, чем один большой кусок в одно место.
Никто не видел что ты там куда вставлял "одним куском" и как это работает в реале... Это так, для размышления)
-
@Capushon said in Адресная строка как в Яндекс Браузере:
Это так, для размышления)
Поразмышляй на досуге, это полезно)
-
@aminought said in Адресная строка как в Яндекс Браузере:
Поразмышляй на досуге, это полезно)
Совсем в хамство скатился.
-
@Capushon Ни в коем случае, тебе показалось.