Адресная строка как в Яндекс Браузере
-
@Capushon зря ты ко мне прицепился.
Я говорил про . textContent, которых никто не будет обфусицировать. Это снижает ценность твоей работы. Ты ориентируешься на человеческий язык, и ставишь свой значок в PNG за первый ; слева. Вот и вся твоя работа. А умножение одинаковых действий на 1000 не сильно усложняют их.
Не надо сравнивать несравнимые вещи. -
Ну если .textContent там нет, да зачем он там. Если бы вы еще знали, как он работает, вы бы сами ввели высшую меру для программистов маньячного типа.
Ладно, оставляем полсрока от пожизненного.
.textContent отлично работает, но только на запись -
@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 Ни в коем случае, тебе показалось.