Dumby здравствуйте.
есть такой скрипт cookiesPermissions.js, для перехода на 112 сделал сплит иконок и подключил так
... @-moz-document url("' + window.location.href + '") {\n\ %button% {\n\ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC6klEQVQ4T42Ta0iTYRTHz7vru1tubuomFjkLUVHT5swbNlKjUqgPmmBQEZillFZkBInfvISZkIVBSKBgGhRogRqk6LLI6+Y0p27SzG05L9Ntzs1t7X3FtbSgA+fL85zzP8/vOecg8A/7VBJEs63rRABIjNsDtsNcerePUFj8wcTa+Q3sBPlbft81H47Nar0SEJaQyo9KPYJyeP5YnHXF8FMn6x3VTw70UlD0Rcoz48oeAazy+orupjAlN0cQmRSDMplAIJNBKpVCglgMVpMJtHLpiKqvpZXF4dftEWjPI53wCxWVhkpy01k8HlRWPITiogIgoyi4nE4gUamwbjDA1MeW7sWpwSqPwA6z1Q6lfsHRqSx/AZNE2wcs/kEg0bmAEEk47dchGSQmx8PC5Jh+rL3hKS7gzcwLj5cwuEEMl8sFdosRVjVKsJnX4FWnAopuFQDKYADRjaSdUdoHWmuakf9hXpqVg2V5AdjCWHcyFbB/0c+pt/pbaluR3cxbm5uwZbPtYZ4f7QUynQ3jM6uQIhGDVjW1/OVd00vk9XlSWXTW1euBYdEBGE91VR0U38j3dHeHWascB4NaASHiDDAZjTDc0y7TqifKkeZsYqPkUlme/NscOU4UCWQaDTbNZqiteQ4lt/M9zAtKJaiHu0AYdwpmFcMambS7C/XhFiONZ4nNaZfv53AEgSTL2hreKsxQOh2sFgsgBMI2s1oF8p639g0Cqvo+o/hMJDPu3X1v1iENWaRH8WcuXBQIQ32xxMqyerjz4DfCQP8IzqyZnrBLO5omTTZXBdsXOgrbwISP8pNM4jlBcHh57PGsKKr7+WQKBTbcCPglVt195s1c1OF44z3+SH22H9NqXHoclZSeERIRu59AJOIL0vdhEJLTROB0OP5gLmxbxCvvGD5I1acZfIfdXHngUMSxwxFHBWwuj0FDaaD9oTFPK4a03sy7l88zyvXZwFxdhkwXwEmnC4KxQAICandApzfzboFfzENQQBtpnroAAAAASUVORK5CYII=") !important;\n\ }\n\ %button%[cb_cookies="default"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC6klEQVQ4T42Ta0iTYRTHz7vru1tubuomFjkLUVHT5swbNlKjUqgPmmBQEZillFZkBInfvISZkIVBSKBgGhRogRqk6LLI6+Y0p27SzG05L9Ntzs1t7X3FtbSgA+fL85zzP8/vOecg8A/7VBJEs63rRABIjNsDtsNcerePUFj8wcTa+Q3sBPlbft81H47Nar0SEJaQyo9KPYJyeP5YnHXF8FMn6x3VTw70UlD0Rcoz48oeAazy+orupjAlN0cQmRSDMplAIJNBKpVCglgMVpMJtHLpiKqvpZXF4dftEWjPI53wCxWVhkpy01k8HlRWPITiogIgoyi4nE4gUamwbjDA1MeW7sWpwSqPwA6z1Q6lfsHRqSx/AZNE2wcs/kEg0bmAEEk47dchGSQmx8PC5Jh+rL3hKS7gzcwLj5cwuEEMl8sFdosRVjVKsJnX4FWnAopuFQDKYADRjaSdUdoHWmuakf9hXpqVg2V5AdjCWHcyFbB/0c+pt/pbaluR3cxbm5uwZbPtYZ4f7QUynQ3jM6uQIhGDVjW1/OVd00vk9XlSWXTW1euBYdEBGE91VR0U38j3dHeHWascB4NaASHiDDAZjTDc0y7TqifKkeZsYqPkUlme/NscOU4UCWQaDTbNZqiteQ4lt/M9zAtKJaiHu0AYdwpmFcMambS7C/XhFiONZ4nNaZfv53AEgSTL2hreKsxQOh2sFgsgBMI2s1oF8p639g0Cqvo+o/hMJDPu3X1v1iENWaRH8WcuXBQIQ32xxMqyerjz4DfCQP8IzqyZnrBLO5omTTZXBdsXOgrbwISP8pNM4jlBcHh57PGsKKr7+WQKBTbcCPglVt195s1c1OF44z3+SH22H9NqXHoclZSeERIRu59AJOIL0vdhEJLTROB0OP5gLmxbxCvvGD5I1acZfIfdXHngUMSxwxFHBWwuj0FDaaD9oTFPK4a03sy7l88zyvXZwFxdhkwXwEmnC4KxQAICandApzfzboFfzENQQBtpnroAAAAASUVORK5CYII=") !important; }\n\ %button%[cb_cookies="allow"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADAUlEQVQ4T42TXUiTURjH/6/bdHObuZy6iUXqQlT8zDQ10eFHlh/UhdMwqRDMQtIiEIKsm0jNPoQsvAgvRNQV3XihM2UTMS+y/EYd0xl+zPm5qdM5zbX3hFJZ0AOHc87D//mf83vf51D4R3y648mxrM+HA1Sobbj/lFn1ttFnzxf1Rr+Y2aIz1N/qu24eEVjM5jx3v6g4UVBcCFsgdKN15tWlhfnBzn79aE+nPZv9NvaNcfWQAX3y+up8kXdstkwcGBPK5vFgx2Khu7sbURERMG9sQDfU3TfZ1SjnC0RVhwyac5gJrr7hJb7S7CS+UIiyJ09RXFgAFpsN694emA4OWF9awriy8ePieG/5gcE+s3kHJa5ewXF8NzGPyXECX3QCTEcXUAwmof38ZRDRZyMxNzqgH2iueU0MfmUW+kdKuS6eXKvVip1NIwzTalhMa2hSjKDwbgHYXC4YNiSdRr3TI39WT/0P8/LEEDZX5uDsHWYrdgD9XfRT2t1Kbcso9Sfz7vY2di2WQ8wz/Z1gOTpjWGNArDQCOYYOgkS9z2KWBqffuOXhF+xO81SUV6H4dj4aDKO47Ox3wKxTD2NJOwKfiGRkLrQgJSUFra2toOozGbXSa6U5Q2NTrNPhgWBxONg2mZDx7QM5oc0/lzDPqdXQfm1DqZ8jMjIyYLHdkhjUXmTUJ16/LxOIPZiba2vkV9FxfvIdZDIZ5HI5VCF50GsnkWVUkpzRaCQahUIBqiad+Twy9cpVsbfvUTpZVlqNew/ykaxpQmJCIsQeYtTV1ZGC3Nxc6OZ0ZN3e0Y6RohGKepXGuCT28n8UFp8e5GC7PsveHls2BOlYPaRSKRFLJBIyazQaMiuVSkyUTJAWoKozXXlm4/LLoJikZJ+AsGN2DAZ5IF3tvShxG0J8fDwp2g+VSoXZh7MHDUgWFRe4ou87prLjkoAzJwNOiZ1dhFwOmwPd7LQpVdfitG9CFy8+Xvyt/Q821ZngGVaQZgXO7VnhRRvbUdDaBIrKcEEDvV8tP/z4fgAyxDtBpHZ35gAAAABJRU5ErkJggg==") !important; }\n\ %button%[cb_cookies="allowSession"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADJElEQVQ4T4WTC0jTQRzHv+c23dzmI2duUZFWTh1qPsrSzMx8YA4qsCylJ5iFaEURvSQoSI0yQ7MJFUWSSUSoiFpRYSbiK42lk7CX1WbzMXXtmf/2/0crs+jguLvf/b7fuw/3O4J/tOcH5vLME+pwgITYutePNEpj612OQnF7ZNGggY6Qv+mb9rq6m43G3V7+K2LEQTFLuO6i2XSecVQ7pO55+kLT2/LUkcu9Gl2mG51hQJ88MarO9YlO2yQJjArhCgRw4HDQ3NyMFcuWwTg5ic8vm7sGmiqrhO7i4hkGNensOE9p+BFpbFq8UCRC/tlz2J+dBQ6XC2pqCmwnJ0xotVA9rnzwRdVeYDf4yWy04Iind3CMcLZEwOa5QCheALazBwiLzdC2dfQgcmUEPvV2a7prFJcZg9+ZRQERsXyPuXyKomD5qsPYh36Y9eO406BE9sEscPl8sGxIn1/3W1qqzleQ/zH3vZ+E6uMktFYX5gZezhb4iBzA0w1Yn1UWVZE/ma0mE6xmM8Pc/sYEtdUTMpkMUqmUMVCpVFAqlWCpOw2a+oIr5O5mdl6wfM++Of7BXjRPYUEx9udkYmCYQr9BgviERLi6uqKzswOhoWGMiU6nw4PGBmi6aopIRSrreuyOvPSXfW85S8MDweHxYNLroWh4i+QtWfALkDGim9fKsW1Xpr1s+l4p8bC+toFcX8+qWLvz2CZ3yRz21/Fx5qnoVt5qRc7hE3ZB5Y1ypG3/ZUBvXDp3BkQhZ1+IWJexXeIjnUUH8/NKcehkJspazMg9etpucPzAHvt8TWIK4pLkKD57EqQkhbVB4h1wKnS1PMjJdn2OoyMMNoRqpQl+q1LhHxSGJ401WJ0gn1b1vT0daKyuqiOlqZ4Co274YlBUfMJCWeg8BxaL+SD3H6lgWBCJpI0ZcJslmiYeG9Gi/t4tqAffbWUKqTCZL/5m0efPXyRbvlgWJnHzEPF5XB5qO4esw3xfp+Cl0QgIiWBMXnW1orutiRafLikpybOXcmkqBGMjSKGAxCkK3nSyA8GbEVHMhN7F15ciJJGOEULqbMMthUJxm15/B71yOwKx0czLAAAAAElFTkSuQmCC") !important; }\n\ %button%[cb_cookies="deny"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADN0lEQVQ4T4VTa0hTYRh+zs6ZO2s75dzWNlmhdpmXmmWWXTErCzKhC5ZdoCLohpVFEASNoB+ZUSZkF6IbZJlGBlphF8JqFaSVmdksSrTM5eZ0c+7s4k7nnEiiC73wwXd53+d7nu95PwL/iCc7jfKApzMVICbyQ/cjjbPz42UEo6+bXvTZJ+wQf6t/tGWYKsCyG3QJ09L15vQJtEozXMhjXY5vna9rX9mbn9ZG0PTZWSd7XX8ACDd7XJ074mblLjeMnzGRViohkUphtVoxbcoUsH19+NpoffnxUVk5o9IX/wFQtZqaqzWl7jFl5GYyGg0KDh5Gft5mSGkaXDgMSiaDx+GA7UHZ3S5b3aFBgJ+a2SD2aGOT05nhBiUlHwpGHwNqiBoESYlqn9e/xvSZaehobrA3VJ0+IQL8qlmTmJahUBsVHMch2N+LnvYWBLxuXK1pQt6uzaAVCpC8pK8fWoJPy4+UEv/THGxoBtfQBHm3V2Tg12sQNsXgCxkKPS4rKid+1xzy+xEKBETNsL6A795jODs64LLzDvKh0ukwMj4eXYZIX1XjzVPEtRWUJTl709bohGSdoKfwUDHyt2+E5H0rQjfuwf65HYw5Cez8SXB8akJaK4EgRSHU04MPAUcRUZpDns9YZ1nd+K5VOjl1PKRyOfxeL9qKL0Ld7QI1JgZReevQ0dKCuPsveAoq1FdUQGs0gtGoa4jzi8nSeev3LlcZoql+t1u0SoyiC2B5ILllG4ReYM5VDhbfHYWLq/zGtcKDEqezqaNpWWvWGuJMUUJdgaUEu/dtxEDhGfHFHyYnYJnTM1hcE4uVkVGozvHGe4QLiOOLyCWG2MT9KbOzzTKevjQiAj7+IFhWDaa3X6T6k/azRHJpXvVApSMr4U6Y4zLdTuctoiRHq2R7ncfMMzLnj0pKGSEhSfGDvLl8GzE2G7TxJrTV1aN2tOQsPUydn+vXX5fR9Bx7exsZYH2rxEYqXKjQDwS9BSNHJ00dkzTJEKnWKOS0HF0V1SFJ/VuZYJtgnxCCnYKtPrfngNkWsAy2ckkOlD3dWMQBC8IcYoVkCYFP4xzwRPdhrITDAhGBwC1+finlI64Iy+/RPFbh6B52nAAAAABJRU5ErkJggg==") !important; }\n\ %button%[cb_cookies="unknown"],\n\ %button%[cb_cookies="error"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADEElEQVQ4T42Te0iTURjGn89d/Oa2pjl1E0ttlelK85bdZElaUEoN0hYKFUI3pLyFEDQUAi9hJmShYBa0WhYJWVT0h0mZRcpyak5zKlZOpzl1XuY017dvJFYGvXDgnJf3fc7745yHwD/ibYYPx2oejACIUGp5OcpsQ9TSsPmipu0lX2fsGWK5/tenBW5WiyXVK3CbTBQs20y6CT3tdRbTiHFQW/9xqKOxnk2SldE3xk1/CdhvNpsGz62JViSJN+0IJXk8OLFYaGhowLYtW2CZnIShtUHT81pdzXcTlf4lUJvM3O0REJETEKOI4wuFKMi/jPS0U2CRJGwLC2A6O8M8MoLOOvXL4c6mwkWBX8yWOeR4+IfI+J5iHpOzAnyRH5gu7iAYTJr2Q7MW23dGYaCjZailtvw6LbCUWRgUFcN19+HabDbMTY9j7EsXrFMTuP+iHWmZp0ByuWBQSIburrnG6mIV8T/Mxp5K2Jya6AnYZCwEnnIM9fXOv1GXVBN/Ms/PzmLeav2NWa9Jwfojelqg654ErsJ8GHo6R98/vXObeHiYqQxJOHnGOzDEy85TVFiK9LMnFl+3o/0WJJHh8NiYSueG2yph0unQ1jiuNfR+yiVUiYyqmGPK5FZdHysyYhNYHA5mp6ZQUlyBjKwT6O/ORqhCjea7CpysCEfTq/PQqBWoe+BUSQrc04mqgwxV7PELSW5ib+b0xAT9VPYgXVww0P8YPPECfKQxaK5ROgSeHcDX9jr0aOqKZZnIJsoTmFei9qccFa8JWGlvLFCWIfuiA+GzTgnZoWR63/xc5RB4tIE+1z9UYVcWCOJaPEMu9g/KDduVEOxMjc9iszFDIQwbX0Eg1EMS6E03mMfM6DLwEB7o+Dr6jgHodd/yiLJED55l/PvV4B1xeyTSsFVODAZtEG3LJcTLaQs4JnhndExw88ti7kmN0WGmon1c0Y+5qYLVa6Vb10nDxa7uQm5b2xWGXL5Yu+ympmaJG8sSwRsbRbwN2Ltgg7+XL/y8feFLeQl8PkDR0TFDmdhsBihPwWJB3k8XVTr9Yr7r6AAAAABJRU5ErkJggg==") !important; }\n\ %button%[cb_cookies="notAvailable"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACm0lEQVQ4T41TXUiaURh+jyj+RmjhtotBQhhZjCVSwwIbYxuYgrswL7xQ2JWzmF61q9HdJtTcCNbVGLsIoi52Y8E2kISCCauGpFL4U1i0dqFE/oSO2vsepkhusA8O5+N8532e93ne52Pwj8fv90vPzs4M+HkA17U/105w325ra/sWDAYrdMb+Vu/xeJTn5+ePe3t7Tf39/bfb29vVdO/09PTnzs7O92QyGZFIJO/m5+cLLQDEXCgUno6MjIzrdLoBuVwOQqEQNjY2YGhoCEqlEiQSie319fUlpVL5pgXA6XTe02q1UyaT6T5egEAgABMTEyAWi+Hy8hJEIhEgAUQikS97e3uBBkBdc61Wm9JoNKbOzk6FVCoFtVoNCoUCBAIBV7u1tQVGoxGw+CQUCr3lAM2ae3p67nZ0dMiJrVwuw+HhId/D4TDvhECpi2w2W1teXl5g/6N5f38f8vk8YGe8WCaTEfCvxcXFJXZVM0qAarXaojkWiwEZSmDDw8O051dWVj4wh8Px3GKxPEHj+KxnZ2fB6/U2plvXnEql4ODgAAwGA2A+YG1tLYYyppndbn/vcrmcu7u7Ir1ez5krlQrMzc3B5ORkQ3Mmk4HNzU0YHByEeDyew7F+xnz4mM1mW3C73ePotrBYLMLFxQVnJ51kHrlP77lcjkZXY4xlsJuv6MWz1dXVH8xqtb4aGxtzdXV1qahwZmYGfD5fQ0I0GuWa0+l0DceWRH9eqFSqEE6gyKOM+h+hu9Ojo6O3MJ7cZWKmh9jprFkzgnxsjj95oMCMv0aWB319fTepCNvk0aXAkKRmzXXmOggPktlsvo7je9nd3X0HQW5QkIj56OiohMXHzZqv/nyNKFMnGBYLJvAhLg3Xx1gW16dmzVcBfgN5FlQ7XXON/wAAAABJRU5ErkJggg==") !important; }\n\ %button%[cb_cookies="defaultAllow"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADMUlEQVQ4T42Ta0hTYRzGn+M5c2e3crm1rYu2WQ2TadrStMSkG1RCfdCCgoqiG90pgiApCLKiK1n0IQzKMOlbUFarJksttDJdLZe2oLnt6K666TxT184iqSzohf+X9/0/z/v/vS8PgX+sxoPTBGy/Sw8Q2bFS/GiLMrF6lyhRthRctA9yO8Tf9KZdE6VsOLxVkZ5fpMwsmktLZZO5vrDP3eNqq29lLE31iTR9s/B6wDfOgLu53+farylcX6bSLcymxWIk8HhoaGhAfm4uwsEgnO0N776YamolUuXlcQYPNlBL5Fr9UW3x+mUSmQwVp8/hwJ6d4NE0oqOjoPh89Lvd6HhR87S3o+XMmMFP5nAER+XqrCLJZJWYEkyARDkDlDAZBEnFaZvftKFgUR4clvfM+wc3rsUNfmWWzckrFiVPE0WjUUQGAvB/s4IN9eHe4w/Yc2gnaJEIZAzJ2WmNNNWeryb+h9nT1Y4BrwNJmpyYmA/uXZivtuG7TXfqiT+Zh4eGMMyy45jtrfXgCZNg7vSjsDgXVc7mwc+uz63E/XVUeVbJjt1T0rMUHM/ZM5dxYN92tId7oaPlY8xOqxlu2wek5S7HHY8ZQmECY+hqMxLVpWRV8ebyDe2fvvLm63XgCQQYCoWw7+Ft5BfosWWqPs7ssFphe/sErVnpkMknBrp9TFddwFlHVK0hq5duOVYmVU2hBvr64l/FrZqgFdpZs/HR8hHbUhaAsX3B1Y66EW12to/p99mHdWmGR69eBokbJdSFvFUbN6k02kmcsKK8EoePb8dtrxkatQZ+XxD+Pg/83t6RZCnf7RTyTZFUhfVZo4k17zWfJK6uJteq1HNO5CwuyeTHxuclJmIwhnDL3QZ1zICiKIhFQjgcNsYy6DEG1UqL0WhE55HOk/EsVJbKxeGA51LmwmXL0zJypieQZDwgJkMLOnQkUlNS4fa4At1+Z1cgfXrd86ZG1n7cHhePhensSpFyJBKqSJmZsWBWxjxVUrJMJKAFcHZ/C12wGVnpVIU9oFEaDC2vgz2nesbEv6WxshRivxero8CK0SjU3GECAVtsmsdXcqS6CEmw3grvb2Ku5zvxg2tkeIR+owAAAABJRU5ErkJggg==") !important; }\n\ %button%[cb_cookies="defaultAllowSession"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADaElEQVQ4T4WTfUxbZRTGn/vV3ktboHALLR0E1pGG4cAho2OMINFtiQ51yZhLppnGBKdZFI3JEpMR/zFjM4ojYzKDITGSIFGzuMRss8uGUJd9uEG3tSsFJ7bYdkDLbW+/S69t1cU4jSc5f7xvznme95f3HAL/ET++tYZLhLyNALExk6V/lEm+TN6UqbTXt/S5o9kb4t/6J14rUCdisVdKa5rbtHVtj7JqviRbFwss3fdax6d89svjMpb9rPUTIfCQQNY5FPC+ubZ17x7dhpaNrFIJkmFgsVjQ3NSEmCjCc8ty8+eJ0TGVWnv8IYEz++gnNMbGQ8b2vdtUPI/eIx+g++ABMCwLKZ0GLZcjtLQEx8XR7xcd148+EPiLOZbEIU1VfZuqRKekuXyotJWg84pBUHSO9tpPVmzZasJv9mnf9JlTJ3MCf2fm15vaFcVrFJIkIRkRsOKaQSIcxJfn7uDg2wfAKhSgMkie2Znk5bEPR4j/Y/YuinDNuyCICbBFOqjkBDSFcsR991KTo31jxD+ZU/E4UolEjnnBn0SEzEdBxpVJihlnFjbnAvIUDMLuOyHHdyeHiK+ep3vqO159vaymvjTLc+zocXS/0YVAVMJyUgk5p0J1tQHO21PI52gU6Q0ICgIsl8w+390rR4iRTmq4/aWefbfu/sJsatwAhuMQD4dx4vMLeLGrC1q9HiRJYfLCeVSUFkKtXwfBvyw4Z2fn7N7UADH8HDXy5Mvv7lHryuhIMJj7qmxM+yg0bNoMgiBAy2S4Mm7OsKtWJUYRSKYld2XTs+ahoU9F4lQH/ZHp6Rf269Yai7KNvT0DeOdwF665VmHa2g73rx5UVOlxemR4dX7OviRS/ERzx/6Z7c/sTvS9fxjEiZ3ULl3V+vcaHu+ok2eez2TcohkEx/0U+Mpa6PQVmLFZwXF5PpnGcKmkptWeNbJZb+D8t2NOYqBTo4wJyx/XtWzbbqhtKCcpKrcg58xWlDWYYDA+gmg0KoTE6Jy+ZfdZRq5MrPj9OPvNF1j0uL7ODdKxpxTa1WS4t2Jd7ebq2sd0hcW8gmM53HB44q5gKqLSlLubdnWb2QJetE1dxdTVSfgW5n/o7++/+GCUBzqhXPFjpwTsSEuoygqTBO5F8o02P29aThNs+Z+b6yRJ0jo4OHg7e/4dGhFl3RS3wJwAAAAASUVORK5CYII=") !important; }\n\ %button%[cb_cookies="defaultDeny"] { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADYElEQVQ4T4WTa2hTZxjH/2/PJeeYpG2a1FzUsTYbXa1NWq3W6qR2mwqbhcloJ3PiRHAqRes2EAYr+2Z1bJ2wbggTPxW6og7Rgbtg6WoUaVy1F5vGa9cu7WmT5nJyOTm5nOVEJmNu7IHnw/vyPP/n/fH+H4L/iOtHl/OyOFcHkNpcmp+UKUIuh1m9xb2hayah3pB/6x88WGSQJWmfubKh0eJorOEMpqVqnRT0z8+NDNwWJm4MsBx3ZtM34eAzAupkMTh3pHzTzlZr9cZaTqdDAcPA5XKhYd06SNEoZkddww8He/v0BsupZwQu7aJfLa2oO1bRtHOL3mRC5/HP0N52AAzHQclmQWs0EP1+TPb3/rww6T7xVOAvZimFY6Vlzkb9UquO5guhtzwPeokRhKLztEO3RrDh5Xr4Ju4Idy6d/jov8Hdm08r6Jq1xuVZRFKTiYYSmvZBjEXz34zjaPjgATqsFlUOave9N3ej7vIf8H3Py9z8Q94xBCSyCM1ihFOlB2cyYDQfS13q7+sg/mdPJJNKy/IR5yodsTiAkCBDuj+cmc4jINKrrnBDSoth/7cK35NzbdIez+f1DtkqnWeU5eeIU2g/vBwmEkPU8hHfSC/vaWoSKafgfjWOV1g5JTmHOMyL4AjPHSU8LdbbpvY5do57HzNq6ajA8j2QshitdZ/BKTRVYSym0DWvg83oB1yAMdgfuXv0pnBFDDyoMy7rJ2Tepntf2ftxqsNroeCSS/yo1aPc4pHgMzOb1UL0gX72OBWEqMzPqCbop/w9vJW0LBl1hlJxupr+of+PdPdbyihK1sbOjGx99sh9Z1y3QDAuXnMY2swliXMy4L/T6R4vQXlyCy62xlz6U4nGQr7ZTO6xlKz9dvbnZock9n2FZJHIImTEvNMk0Co0lkAnB8MXzwgQfPNh2OfO9v7lyt5JRyiPB4D3S3VKqk8KBLx0bt2y1V61eUUBR+QUZujgAR6EGS3ICj38bCt9MTJ3jiozt76RsO1gNWzY/PU0S0eT5vJFOvq61ZFKxzudeqFr/YtUaa7HRpOU5HsJNdzLsvh3nNfRMjcX+C0+x0dD8PBZ9PiTC0V9XTUr9T63c3QJdaBHbFWBbVkGZKlxA8GiZiLuViwgwWazILzRwjyEYcT7AmHr+E5EUd77R7OXNAAAAAElFTkSuQmCC") !important; }\n\
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует
сделал сплит иконок
Круто! Я, вроде, тоже сплиттил, чисто canvas'ом.
112_0_BUILD1 Unbranded иконок нет. Можете посмотреть
Сходу — нет.
Сто лет не ставил Unbraindead (за ненадобностью),
поэтому, тут бы хорошо было дать его ссылкой.
Однако, уже для 112.0b1, дополнительно, нужна ещё и такая правка
Отсутствует
нужна ещё и такая правка
Спасибо заработало...
тут бы хорошо было дать его ссылкой.
Да ссылок, судя по этой Add-ons/Extension Signing - MozillaWiki, там каждый день пекут, можно растягивать на горячие пирожки.
Я, обычно беру посмотреть:
Я, вроде, тоже сплиттил, чисто canvas'ом.
А вот с этим я пока ещё не разобрался, тем более применимо к list-style-image
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует
MozillaWiki
Точно, вики же, спасибо, есть такая закладка.
Что-то заинтересованный народ не очень-то жалует такие сборки,
подавай брендированную, но избавленную от подписячей дури.
А вот с этим я пока ещё не разобрался, тем более применимо к list-style-image
Да, полагаю, и не особо-то и нужно.
Раз сделал — значит, наверно, ловко управляешься с графическим редактором.
И запускать никакой подобный код не требуется, разве что на интерес.
(async () => { var fragment = String.raw` %button% {\n\ list-style-image: url("data:image/png;base64,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") !important;\n\ -moz-image-region: rect(0, 16px, 16px, 0) !important;\n\ }\n\ %button%[cb_cookies="default"] { -moz-image-region: rect(0, 16px, 16px, 0) !important; }\n\ %button%[cb_cookies="allow"] { -moz-image-region: rect(0, 32px, 16px, 16px) !important; }\n\ %button%[cb_cookies="allowSession"] { -moz-image-region: rect(0, 48px, 16px, 32px) !important; }\n\ %button%[cb_cookies="deny"] { -moz-image-region: rect(0, 64px, 16px, 48px) !important; }\n\ %button%[cb_cookies="unknown"],\n\ %button%[cb_cookies="error"] { -moz-image-region: rect(0, 80px, 16px, 64px) !important; }\n\ %button%[cb_cookies="notAvailable"] { -moz-image-region: rect(0, 96px, 16px, 80px) !important; }\n\ %button%[cb_cookies="defaultAllow"] { -moz-image-region: rect(16px, 32px, 32px, 16px) !important; }\n\ %button%[cb_cookies="defaultAllowSession"] { -moz-image-region: rect(16px, 48px, 32px, 32px) !important; }\n\ %button%[cb_cookies="defaultDeny"] { -moz-image-region: rect(16px, 64px, 32px, 48px) !important; }\n\ `.trim(); var img = new Image(); img.src = fragment.match(/data:[^"]+/)[0]; fragment = fragment.replace(/\n^.+list-style-image.+$/m, ""); await new Promise(r => setTimeout(r, 500)); var canvas = document.createElement("canvas"); var mir = /-moz-image-region.+\)/; var ctx = canvas.getContext("2d"); fragment .match(/rect\([^)]+/g) .map(s => s.match(/\d+/g)) .forEach(arr => { var [top, right, bottom, left] = arr; var w = right - left; var h = bottom - top; canvas.width = w; canvas.height = h; ctx.drawImage(img, left, top, w, h, 0, 0, w, h); var url = canvas.toDataURL("image/png"); //gBrowser.addTrustedTab(url); fragment = fragment.replace(mir, `list-style-image: url("${url}")`); }); gBrowser.selectedTab = gBrowser.addTrustedTab( "data:text/plain;charset=utf-8," + encodeURIComponent(fragment), {index: gBrowser.selectedTab._tPos + 1} ); })();
Отсутствует
Подскажите чем заменить в кнопке Undo Close Tab этот кусок
//=================== // Styles // Used icons from Undo Closed Tabs Button extension // Styles can't override hardcoded icon if( // Remove icon only if nsIStyleSheetService works on-the-fly (Firefox 3.0+) !Components.ID("{41d979dc-ea03-4235-86ff-1e3c090c5630}") .equals(Components.interfaces.nsIStyleSheetService) ) { let icon = this.icon || this.ownerDocument.getAnonymousElementByAttribute(this, "class", "toolbarbutton-icon"); if(icon) icon.src = ""; else this.image = ""; } var cssStr = '\ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");\n\ @-moz-document url("%windowURL%") {\n\ %button% {\n\ list-style-image: url("data:image/png;base64,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") !important;\n\ -moz-image-region: rect(0, 24px, 24px, 0) !important;\n\ }\n\ %button%:hover {\n\ -moz-image-region: rect(0, 48px, 24px, 24px) !important;\n\ }\n\ %button%[disabled="true"] {\n\ -moz-image-region: rect(0, 72px, 24px, 48px) !important;\n\ }\n\ toolbar[iconsize="small"] %button% {\n\ -moz-image-region: rect(24px, 16px, 40px, 0) !important;\n\ }\n\ toolbar[iconsize="small"] %button%:hover {\n\ -moz-image-region: rect(24px, 32px, 40px, 16px) !important;\n\ }\n\ toolbar[iconsize="small"] %button%[disabled="true"] {\n\ -moz-image-region: rect(24px, 48px, 40px, 32px) !important;\n\ }\n\ }' .replace(/%windowURL%/g, window.location.href) .replace(/%button%/g, "#" + this.id); var cssURI = this.cssURI = Components.classes["@mozilla.org/network/io-service;1"] .getService(Components.interfaces.nsIIOService) .newURI("data:text/css," + encodeURIComponent(cssStr), null, null); var sss = this.sss = Components.classes["@mozilla.org/content/style-sheet-service;1"] .getService(Components.interfaces.nsIStyleSheetService); if(!sss.sheetRegistered(cssURI, sss.USER_SHEET)) sss.loadAndRegisterSheet(cssURI, sss.USER_SHEET);
Отсутствует
чем заменить в кнопке Undo Close Tab этот кусок
ну весь кусок я не менял, а подарки от Dumby я попробовал в действии
var cssStr = '\ @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");\n\ @-moz-document url("%windowURL%") {\n\ %button% {\n\ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAEEUlEQVRIS9XVbWxTVRgA4Pfce3tv27t2bbNuXbfCBuyzAZ2MEdkkLH5gJvEH8TOZEo0JFdgmbgjTgEHUGQXGMJEMmDJMiNvQjS9BJhH8MY3IfsB0rnTraCcbm13b2+/1fni2xAVuxOHAH57+adNz3uee9z3vuQj+44FmG79VksglAIoMgBhCSLpdnFkBkiQxl2OQgRdbJhjoKkQofM+ALklSGSNwf1iAjbXNZ3MdI+MB+7vPF989IEnoZwBVQhCWBgVhW13b+WX5KXpFR7fDe/ntZ8wYiONUiXLojlKEU4LGANgRDpZHBH7r9iPnilZaM4jKFTlQ/P5XvHV+6o5si7HzuWUL+hzngSstRfxf0DSwa9cHa3GgWgmQTv4UNMMggyWTMuYtYepOXCKfKMiGZ4tyQEMDjPrDcGVoDI780As3/AGhJIVs2vTk6pqkJAhOFn8KaG1tpV1u53h5+RpGr7s1/uTxCIgk6g/EiaqmM2i5NRseL7SCgwMg8Wo9A5CsBLjPADDki8CbbRdgQiI631n/2NOFANwUUF9frxPECVf1628gn893Sx55IIhxBavcffIi1fO7H15atRJiAoD8XBI4UmYCwOIkCdY3fyuyrGrHZ+UldXJAwoDn5hThQESYpNXXQpJuw4HTiuzM+fBAfu7UFIQ/0wN/nfydrEKwSCdARfMZftVSa6kcEPx+v0NeA7wlKowYXX+AT604+DWTmT4XcufhFsN6r9MJ/gAHiVotpBmNoNNoIctAw8Xf7FKMjx2TA7zX6/3p7860SBCKEGJSBrj4PIyozMkm0KhZsDv7hTUP5Xt+HfFpuvqGVBZTKizEuOePEYiL0V/kQJzjuG9u1zS8RDAhRFv6/FFr5YFTaopicJGRt932yDmJQLQ3JpY9+lEHVZCTB6PecTAmEMNyIIZr8MU/3U8iSSo5RGfZPZGFFftPaU0a9dgxW+mXBEGQtJJ5xbq1hUo3mdENzxjYyoq65UAUA5/MdAGKiFQHSGbB1WEPDZGIq3COYRQD1I/XPJttn39PKRlWYpUgfvraU2/JgXAwGHxvRkAUEd6JAteYJAUhioNLwaigLN1z8sNQLA5mQyK//YWHr8zRaV9EjY2NikDAuwkQ2oL7IIRH9UzATf9PPuBUS4gIKY92u/Zf5zhixaKsAa1BXzOhhrNoz96d21JNaavT0tO9xQ+W5GDg5X8BTE/lCSIBUcqW3kGX3XW1Jz7sdtVXrn31EGpo2Nm0bl1VHt7maTw7Eo1GL8wGwPcOiRSKMpIgUpzOAd2JjqOdNTW1B1HDx7ttlRs2mnCDHZ5NYPkalmXnut3uxe3tbZeqqzd/h/bt21tgs1WocYP13AtAr9cnDg4Omo8fb7leVbXFdUfvg7uB///An8idyhRIYoVPAAAAAElFTkSuQmCC") !important;\n\ }\n\ %button%:hover {\n\ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAECUlEQVRIS9XVe2xTVRgA8O/ce3tv310fa8P6AOoapwznYtXFzchQJNEYNTHEODSaYLK4jsEaGcQnEpAQu8r+WLJMMmOMIQXnNgeKYTJjfBGzMEGTztVubcGmD9q1t+263t7r2Qxka8DhwD88//SP2/P97vd95zsXwX+80ErjC4JAjE4BvWEN5BFCwvXirAjAwWkfgIVjwczK4Sc7QtlbBpwRBLG+ADVcDnbu+fjUHZMX4+mJA00NNw8IAvoZQKIEsLOp4pv7PaMP2jRKanjclzi/99kKDBSuVaobKhEuCYoCyKIZaMjOcW+89clIXe1qA9H80Hp4uqu/UGszvlNl1J/eVF/pjY9CurERcVcyugq4XAdf5gXowP2SL00XAUkzSGteSxuq7LIDw2Miu9UET9y7DhgSwHcpAhN/RuHrC34QeJ57wED17nryqQ6dDtj5jBYAj8dDB4L+WNNzz0uUStWS+PPHI4so5EtzRNuRL9Hday1QX22D6RkOSLxbShGgZAgwKSiYjsTgo2/GQCGTfbXP8egWO0BqAXC73WVFfi7gbN+Fkskkv1jggCAui2Ri1/BZ6pfpGGy+7x7IFnjA2f69rvziSDopBUY5Cd1ffMtXmfX7+rY2vFsKCBiILwbwfiJL0tIpVihz9J4UlWvL4TaTaWnwRZaMJkFOzMFnP5zjmhprG0uB4szMzGTpkcMImQFG7csUV7X2nmA0ZRow6w2Amw/BSARmZ3MgFotBi8srk0iAERHweygkVBoUg6UAl0gkzl7rTPMEIcogxuBPcVbHByckKrkKJIwYwtFw8cUN1bFfLyaU33uDEp1KDQatDkLRCNy+SnGhFCikUqlT1xsaTiCYDKLNE+n8ndt7Tkp5QKhcKkoMtTwyUgREx7LcY5tdg5TNtBoSbBos5ZJLpUAe9+DoP91PHEmKWUTbJpP59Y7uIYVBKY0NNm/8lCAIkqBE22re9lB6rR7FUwl45fH7x0qBWQx0L3cB8oiUpkmm0h9JiIRsNlBrUkcxQI14w7udx34kxIwE9wLxfW3P7CkFsizL7l8W4HnEk6RovvlksTiLgwvJXEG6sXP4YJ4rQoVGxe3d+vC41ax8AfX09IhS7OXXEBDteA4yeDmXAxY9n3/BhUnApvjoOX9vPJODhnXWKbVWsyMlhdOo8/1Dr1tMa7YYjRWpurp6KwZe+hfA1b/iAyAHmvZ4g0Ff0PtbLhzwH25pbulDne5DPa2OnXfhNAeLON1CofDdSgB875Akw2zCKZn8f0xKhz4fGH21veMIch9+b9uO7U4LHrAPVxK4dI9MJrMGAoHqgYHj405nxxnU1eWqaW1tV+ABO38rALVaXRYK+Q39/Z5wW9vuwA19D24G/v8DfwHJNM8naEZRUgAAAABJRU5ErkJggg==") !important;\n\ }\n\ %button%[disabled="true"] {\n\ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADCklEQVRIS9WVz0sbQRTHZ3Y32awxYkOIMaQQjBJ026zVVLCeCpX2H2jpqaceSjGnUpBcKj0IpVA81UtLT4VCoYdepJcapBYKGjfNbwNqTGJsbGKi5pdmd/s2tEVCjBrroQMLw8x77/Pem+/MYnTOA59zfHQmwPj4+AWCIG5OTk6+OyrRpgFOp7MTgn6pVCpdLS0t9MTExH49SFMACNaFMZ7v6enRRSKRiiRJnbCWbQgAI8LjWbyBMaFtdC7r67GLwWD4CQRnLBYL4XK5yoIgbKpUqkB7e9u3oSHrlMViz/2J8bcCnl/8TJCUmVJQW0cB0ls/W91u3gqDNBqNVTNoEcrlcmhnZwdtJDdEiqSEUql0zeFwLMj7VYDf728t7xdTV/oHFeBQrAdIJpPkzMwMA5ljnU5XNwfoAgI7tLKyUhJF0T42NuavApaWltolJEQBQGWz2Xw971gsRvM8r+nr68NKpbKhulOplBSNRldBYWwtgNze3o4d5b28vKxdW1vTQRWEQqFoCIEqCtC26VoAARV4GnkCxJRIJExms5mEgeLxuJDP5wmKokSNRkNotVosw/f29hDYLdQCMABcx91ukKYV2mAxGAykDBgZGflUKBQYCHoVMlebTCYMypLh8VoA2t3d/XAcQN4Ph8P2TCbTC1NxeHj4rbwGFYzOuma1jIphoCKUTqdjtQAJAK9PApBtoF3Xi8WimeO4N78Bt+fm5vRqtZqGivIHBwePawEiaPr5SQFVncPNBHmK8hza4giFQx0KSlGB4D/0en13LUAAgPM0gMO2cKhTcA40yNMN79Moy7IZ7PV6OyrC/iuMkZ2zDSgB8KBZADwXz4KhgIAkKQECe2SzDS5ij8c9beg03tK0tpUZhtHANb93BsAU+KvyhXwlHl+f7+cG7uPvPv7FZZazQv9eQi+Fcrm82SyApmk9nIkK/B8GAr6vNlv/U+wL+O6yvawR1PC+2cCH/QBAwlNyJxTyhViW+4gjEa+lu/sSA0ar/wIgCwu+rmAwmIN3K9rUD+c0ifz/gF/LJ4uAUJQHTwAAAABJRU5ErkJggg==") !important;\n\ }\n\ toolbar[iconsize="small"] %button% {\n\ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACPElEQVQ4T2NkIBL8//+fEQj+oytnJEY/UDPXzPOPTdINZQ+jG0LQgPvv/wvsvf9k54FzN432X39S9rQ3oR/ZUrgBvb29akxMf7mQJcWVNYTeCWvOfvrijVK9nymDRevqKwqsfxdYiLDNqUgP+whSCzZg4sS+dkYmxlx2NrYfMAM4efiYXonr8Z27/4q52NeGQZiLlYGd4Q/D9iuPGDafu/3/zZevvocrwraCDZgwoWd/QECwtbi4xD8QHxRS178xsPq2LmfKC/FlEBAUYfgDFORlZWCQ52FgUOP5zVCz9sjfiw/eKMENCAwMMeXl5XsMc8FPJhbOjv235A5fe8zoZWvLwMTIxPD45UsGPm5uBiVxQQZN7u8MnVtPXUN2gbGAgOAJpDBg/MrIKtCy/bLRsVtPmXi4uBj+/fn2+9vPvyycHJyMLgZaDAcvXPoFN8A/IMhIUEBoLUoIA+Ps4382qfotZ112nL3JVOyieyjdQYfXuGWtgbCgCOOnzx//IrvAgJ9fYDKWdMH4mYlduX/HOa0AHamD3Jyc5v5TtptzsrMzeBmrXWKcNGkS399/Pw8GBoTIA71QgSNhwaL7/9zjdzN6d10wdDdR/5XrbWbNOHvOjA18fHwmTo6ubECQQChlcnBzR5y9/yT4wcVTb1+/fW7DuGjR3EXR0QlfgMn16N+/fy8TMoCJiUkCiK0PHNqvduXSuTrGNWtWugcHh737+PHjHUKaYfL8/Pyip04dV7tw4dBhgnmBkKEUGwAAgK/XtUYSNDQAAAAASUVORK5CYII=") !important;\n\ }\n\ toolbar[iconsize="small"] %button%:hover {\n\ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRElEQVQ4T2NkIBr8Z2RgYPyPrhwoSBj8//+fbfXt11phqqIXGRhRDSFoAFAzz8KLzzdvP3nZ+titFwWPe+OnIVsJN6BnSo88ww8GTmRJBRUV/jeSuvOOXL6nVeJuxBA3Z+cZWfY/M0x1BZc3+Pp+A6kFGzBxYm8T0GnFrKwsP2AGsHPyMH2RNebdfukxc6KLOYMAFzvDq3fvGC49fMFw+dGL/z9+/nQ7UBm+B2zAhIk9+3x9A2ylJKX/gfigkLr9jZHVt305Y4i9JQMbJy/Dn3//GbhZmRiEuVgYWP9+ZVh19MLfHz9/y0MMmNCz39cvwEJQQOgBzAU/mdg4m3dflTty7TGjkYYm2KmvP3xg4OLgYBDm42H48/09w/UnLy8hG2AuLCRyFCkMGL8ysAo0brtoeOzmEyZ2NjYGFsY/v7///sfCzMTCKCEiyvDo+dNfcAP8/AJNhYSEV6GEMCMj0BA2yaqNZ1x3nr/FlO+kfSTbSY/bqHmtAQ8PH+OPH9/+ohggKCjUhyVVMH5hYlfs3XFeO1BH8hAHB4d50NTt5pzs7AyuhioXGWfO7OD/9p35EDAQFcVExYuxJat///6BLWJiYvo/59jtjN5dF418zDV/ZbpZWDDOnTtzI7+AoLGDvSM3KytbFKF0ycHNHXnx/tPgW+dPvnn99qk948LF8+bFRMV/Aqa4Y9+/f79G0AAODjGgUywOHdivefHipUbGVetWOYUGhr778OEDPAoJGSIgICB87Ngh5bNnL54gmBcIGUaxAQAqY9puYCzN/wAAAABJRU5ErkJggg==") !important;\n\ }\n\ toolbar[iconsize="small"] %button%[disabled="true"] {\n\ list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB70lEQVQ4T2NkoBAwEqu/vLzcjpOT81pDQ8MbZD1EGVBZWZn579+/qUxMTBXt7e1dGAbcv3+f4/2n9z6M//7zoLvo7NlzXh8+fPQTFxdnfwEEvPy8R+RlpWd4evruBakFu+DCpfNLONg4/NjZ2X4jG3D16jWup0+fsRsZGTGysLAwvH79muH9+/cMQHMY2NjY8jMzMyfBDNivrKhs+f8/wy+YAb9+/WJcs2YNj66uLgMvLy+Kw75//85w6dKl74yMjNZwAxQVlEz//f13D1nlgwcPBG/evCmloqLCBFQMth1oMwMfHx/Dx48f/z99+vQssgHGDP8ZjqCHwd27d+UfP36szs7ODvLGO2BAcgNdwCEhIcH46NGjt8gGGP3/938VtmgFBrIB0N8mcnJyB1VVVbkOHjxgzMnJxfT169cnCAPklQyApk/AlS6ePXumJSQk9ACoxuHKlStmQPonUG0e4+XLl8X//v29V0lJWQoYKaWEEtaXL1/SgX43AQbJWhMT01DGq9ev7ODm4tKWEJdi+/PnTxwhA4CpMfz161e+79+/e/f7919Pxtu3b85RUlJ5+////8PAwLlPyAAODg5BoPONXr16YfDmzbtWxseP79vLyCgAY+j9Q0KaYfJAVwgCA1DpzZs3p4nKC/gMptgAAO1G2FJifkXnAAAAAElFTkSuQmCC") !important;\n\ }\n\ }'
Добавлено 15-04-2023 14:40:46
Отредактировано Farby (15-04-2023 14:40:46)
Жизнь иногда такое выкидывает, что хочется подобрать...
Отсутствует
toxa, это было давно и, возможно, уже неправда. Но когда-то, это делалось так(там не Энтер, но найти код клавиши Enter и подставить, ежли работает код, думаю будет легко) №1929
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
Отсутствует
mokujin
Я из той ссылки скопировал функцию dblCtrlSend и попытался вызвать ее в консоли хотя бы в том виде как она есть.
Получаю ошибку Uncaught ReferenceError: data is not defined.
Когда то работал этот код
Отсутствует
toxa
Может как-то так:
addEventListener('keydown', e=> { if (e.keyCode == 13) { e.preventDefault(); alert('Enter'); } });
«The Truth Is Out There»
Отсутствует
toxa
Может как-то так:Выделить кодКод:
addEventListener('keydown', e=> { if (e.keyCode == 13) { e.preventDefault(); alert('Enter'); } });
Так это ж обычный слушатель события keydown. А никакая не эмуляция нажатия клавиши.
Отсутствует
toxa
Извиняюсь, невнимательно прочитал и поэтому неправильно понял.
Отредактировано unter_officer (22-04-2023 02:16:05)
«The Truth Is Out There»
Отсутствует
toxa
Нынче, наверное, никак. Пару лет назад хотел сделать себе javascript, который на определённых сайтах посылал бы нужную комбинацию. Например, на https://www.livejournal.com/ развернуть все комментарии Ctrl + Alt + NumPad+. Не получилось. Как я понял, в теперь блокировка на подобное, да и с функцией sendKeyEvent в javascript тоже не всё понятно. До 56-й включительно в с этим проблем не было. Например, в расширении FireGestures нажатие F4 легко вызывалось жестом с прописанной командой FireGestures.sendKeyEvent({ keyCode: "DOM_VK_F4" });
"Send Combination-keystrokes using sendKeyEvent in a Mozilla/Firefox Extension" - вопрос без ответа.
Решения с CB-форума не работают. Но там предлагают решение с помощью nircmd sendkeypress, их не проверял. Может, Вам это пригодится.
Отсутствует
Dumby
this.onclick = function(event) { if(event.button == 0) var guid = "8iFmVtlyQC3O"; PlacesUtils.bookmarks.fetch(guid, null, {includePath: true}).then(res => PlacesCommandHook.showPlacesOrganizer(["AllBookmarks", ...res.path.map(b => b.guid), guid])) }
Можно ли сделать, чтобы при нажатии на любую папку на панели закладок она также открывалаь в библиотеке?
Отсутствует
Получаю ошибку Uncaught ReferenceError: data is not defined.
Уметь надо!
Казалось бы, скопировать функцию и вызвать,
она даже без аргументов...
Но если бы и получилось, то ничего ведь не увидишь,
разве что на Double Ctrl что-то видимое повешено.
Я вот поменял data на Win+D, запускаю с консоли,
и, вуаля, все окна свёрнуты, чистый рабочий стол.
// Win+D [Win-Down, D-Down, D-Up, Win-Up] var data = [[0x5B, false], [0x44, false], [0x44, true], [0x5B, true]];
var e = document.createEvent("KeyboardEvent");
e.initKeyboardEvent(уже давно не работает
Чем конструктор не угодил?
И что значит «не работает», не работает что?
Суть задачи не раскрыта совершенно.
Родить эвент и раздиспатчить на документе — это одно.
А «эмулировать нажатие клавиш» — это другое.
Особо не разгуляешься, но здесь больше подходит
nsIDOMWindowUtils.sendNativeKeyEvent()
windowUtils.sendNativeKeyEvent( 0x00000409, // aNativeKeyboardLayout, US 0x001c000d, // aNativeKeyCode, WIN_VK_RETURN 0, // aModifierFlags "", // aCharacters "" // aUnmodifiedCharacters );
Можно ли сделать, чтобы при нажатии на любую папку на панели закладок она также открывалаь в библиотеке?
Я так понимаю, имеются в виду подпапки,
а не папки, которые непосредственно на панели закладок сидят.
Хотя, теоретически, их можно и с клавиатуры открывать.
(bar => { var map = b => b.guid; var ip = {includePath: true}; var open = async node => { var ret = true, guid = PlacesUtils.getConcreteItemGuid(node); if (!guid) var ret = false, pn = node.parent, guid = pn.bookmarkGuid, ind = pn.getChildIndex(node); var res = await PlacesUtils.bookmarks.fetch(guid, null, ip); PlacesCommandHook.showPlacesOrganizer( ["AllBookmarks", ...res.path.map(map), guid] ); if (ret) return; var win = Services.wm.getMostRecentWindow("Places:Organizer") || await new Promise(resolve => Services.obs.addObserver(function wfp(w, t) { Services.obs.removeObserver(wfp, t); resolve(w); }, "widget-first-paint")); var sel = win.document.getElementById("placesList").view.selection; sel.select(sel.currentIndex + ind + 1); } addEventListener("click", e => !e.button && e.target.tagName == "menu" && open(e.target._placesNode) , false, bar || 1); })(document.getElementById("PlacesToolbar"));
Отсутствует
Чем конструктор не угодил?
И что значит «не работает», не работает что?
Суть задачи не раскрыта совершенно.
Родить эвент и раздиспатчить на документе — это одно.
Вот именно что событие, созданное через конструктор, вроде и есть, но оно не делает то что хотелось бы.
Думаю это потому, что у него свойство isTrusted == false
А эта штука - nsIDOMWindowUtils.sendNativeKeyEvent() - делает все. Еще бы разобраться как прописать там модификатор, что там надо вписать вместо нуля? И что значит последняя строчка UnmodifiedCharacters?
Отсутствует
Dumby Посмотри пожалуйста как этот устаревший код переделать можно
/////////////////////////////// Сохранить изображение кнопки custombutton /////////////////////////////// this.saveImageURI = function saveImageURI(btn) { var remove = gBrowser.removeCurrentTab.bind(gBrowser); var promiseTargetFile = async (...args) => { var res = await window.promiseTargetFile(...args); setTimeout(remove, 0); return res; } var internalSave = eval(`(${window.internalSave})`); var save = eval(`(${window.saveDocument})`); var btn = custombuttons.popupNode; if (!btn) return; (saveButtonImage = btn => { if (btn.image != "") { var tab = gBrowser.selectedTab; gBrowser.selectedTab = gBrowser.addTab(btn.image, { triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal() }); setTimeout(function() { window.content.document.title = btn.name; save(window.content.document); }, 2000); } else custombuttons.alertBox("Эта кнопка не имеет изображения!"); })(btn); }
Отсутствует
у него свойство isTrusted == false
Ну не знаю, мне alert(new KeyboardEvent("keydown").isTrusted); показывает true
Еще бы разобраться как прописать там модификатор, что там надо вписать вместо нуля?
Вписать обычный bitmap.
Сами флаги можно посмотреть, например, здесь.
Они там идут как раз перед sendNativeKeyEvent
Допустим, Ctrl+Shift+Delete
Запускаем код — выскакивает диалог «Удаление недавней истории».
windowUtils.sendNativeKeyEvent( 0x00000409, // aNativeKeyboardLayout, US 0xe053002e, // aNativeKeyCode, WIN_VK_DELETE // aModifierFlags // NATIVE_MODIFIER_CONTROL_LEFT | NATIVE_MODIFIER_SHIFT_LEFT 0x00000400 | 0x00000100, "", // aCharacters "" // aUnmodifiedCharacters );
И что значит последняя строчка UnmodifiedCharacters?
Предположим, что гуглятина юзерагента настоящая, тогда ничего не значит.
Вот, что написано в nsIWidget.h (чуть отформатировал):
@param aCharacters
characters that the OS would decide to generate from the event.
On Windows, this is the charCode passed by WM_CHAR.@param aUnmodifiedCharacters
characters that the OS would decide to generate from the event
if modifier keys (other than shift) were assumed inactive.
Needed on Mac, ignored on Windows.
как этот устаревший код переделать можно
Как-то так, наверно
this.saveImageURI = function saveImageURI() { var gb = gBrowser; var remove = gb.removeCurrentTab.bind(gb); var promiseTargetFile = async (...args) => { var info = args[0].fileInfo; info.fileName = `${gb.selectedTab.label}.${info.fileExt}`; var res = await window.promiseTargetFile(...args); setTimeout(remove, 0); return res; } var internalSave = eval(`(${window.internalSave})`); var saveBrowser = eval(`(${window.saveBrowser})`); var save = (tab, name) => { (gb.selectedTab = tab).label = name; saveBrowser(tab.linkedBrowser); } (self.saveImageURI = () => { var btn = custombuttons.popupNode; if (!btn) return; if (btn.image == "") return custombuttons.alertBox("Эта кнопка не имеет изображения!"); var tab = gb.selectedTab = gb.addTrustedTab(btn.image); setTimeout(save, 2e3, tab, btn.name || "image"); })(); }
Отсутствует
Farby спасибо , Dumby спасибо все работает
Отсутствует
Не мог бы кто-нибудь написать код для открытия и закрытия боковой панели? Это могло бы стать эффектным жестом. Для дополнения для жестов.
Отредактировано vending_machine (30-04-2023 18:01:09)
Отсутствует