turbot
перестала работать работать кнопка Быстрое переключение параметров about:config.
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EQuick%20toggle%20for%20about%3Aconfig%20preferences%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB6klEQVQ4jZWTv2tUQRDHv8ntd28GLLQQfwS5VkuDSgRF/wlRiIiCQQQhhZ1VII1/wDUWkkLTBAsbC0FJYZGQ3NuZRcHYW6UQEQzoeXkW791xXh5CptodZr8z85kd4BBWRJwDgB5wyoCjh3mLbfK8C/ddW11XJlduNgYaeTFpvJWA0+P+BBx3Cf2sLEy5m4WrS8A0AGANaBUSrgKAKzdcY5k0PF4HJGm47NK6nSUMXOIXAEgSrrnG0oU/AGDKNb6qHe9c+Ms1lqbxqws/uoTfWVp3ksRll/DTJM6bcMWEn1KbDysBCW+zsnSNpWssTbg3PNf3uw7MuHDgym8uoW8aX496SxKXs7J0iTsFObcGRBfey8rShP1EXthSnDHhShJ0vM0H1uYiAKBSHWZqLYyDc+H7sSpeNlMX9l1jWWebEAgjgSxcbRRYB46YhCcVxH9bqDP3nbyUBB0XPk+Cjgnvj1qoqohvJqDtTUBdcGAmSzgIEQBM2R0fY/U41GPkwNpcTBKfmnDPNN4w4TOX+NnbfAQAWAKmXcMVAMgaNqrM1UfqkbMmrXkT/nGJO1XF4Xod8/0Ak4KcKzTe3AROjPs/AMdM2M8atk25a8IXAKYawTZZj5jNEvZN2TVldg3Ny/RfkYizALAFnByu819tzvCRWXKqTwAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u0411%u044B%u0441%u0442%u0440%u043E%u0435%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%20about%3Aconfig%20%u043E%u0442%2024.07.2016%0Athis._handleClick%20%3D%28%29%3D%3E%20menuPopup.openPopup%28this%2C%20%22after_start%22%29%3B%0A%0Avar%20menuPopup%20%3D%20self.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%0AmenuPopup.id%20%3D%20%27quick-aboutconfig-menupopup%27%3B%0A%0A//%20%u0418%u0437%u043C%u0435%u043D%u0438%u0442%u044C%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u043F%u0440%u0438%20%u043D%u0435%u0441%u043E%u043E%u0442%u0432%u0435%u0442%u0441%u0442%u0432%u0438%u0435%20%u043B%u044E%u0431%u043E%u0433%u043E%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430%20%u043F%u043E%u043B%u044C%u0437%u043E%u0432%u0430%u0442%u0435%u043B%u044C%u0441%u043A%u043E%u043C%u0443%20%u043F%u0440%u0435%u0434%u043F%u043E%u0447%u0442%u0435%u043D%u0438%u044E%20%28%u0441%u043C.%20%u043D%u0438%u0436%u0435%29.%0A//%20%u0418%u043A%u043E%u043D%u043A%u0430%20%u043C%u0435%u043D%u044F%u0435%u0442%u0441%u044F%20%u0442%u043E%u043B%u044C%u043A%u043E%20%u043F%u0440%u0438%20%u0438%u0437%u043C%u0435%u043D%u0435%u0438%u0438%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%20%u0447%u0435%u0440%u0435%u0437%20%u043C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%2C%20%u043B%u0438%u0431%u043E%20%u043F%u043E%u0441%u043B%u0435%20%u0435%u0433%u043E%20%u043E%u0442%u043A%u0440%u044B%u0442%u0438%u044F.%0Avar%20s%20%3D%20%27CB.hasNotUserChoice%27%3B%0Afunction%20toggleImage%28%29%20%7B%0A%20%20var%20val%20%3D%20custombuttons.getPrefs%28s%29%3B%0A%20%20self.image%20%3D%20val%0A%20%20%20%20%3F%20%27data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB6klEQVQ4jZWTv2tUQRDHv8ntd28GLLQQfwS5VkuDSgRF/wlRiIiCQQQhhZ1VII1/wDUWkkLTBAsbC0FJYZGQ3NuZRcHYW6UQEQzoeXkW791xXh5CptodZr8z85kd4BBWRJwDgB5wyoCjh3mLbfK8C/ddW11XJlduNgYaeTFpvJWA0+P+BBx3Cf2sLEy5m4WrS8A0AGANaBUSrgKAKzdcY5k0PF4HJGm47NK6nSUMXOIXAEgSrrnG0oU/AGDKNb6qHe9c+Ms1lqbxqws/uoTfWVp3ksRll/DTJM6bcMWEn1KbDysBCW+zsnSNpWssTbg3PNf3uw7MuHDgym8uoW8aX496SxKXs7J0iTsFObcGRBfey8rShP1EXthSnDHhShJ0vM0H1uYiAKBSHWZqLYyDc+H7sSpeNlMX9l1jWWebEAgjgSxcbRRYB46YhCcVxH9bqDP3nbyUBB0XPk+Cjgnvj1qoqohvJqDtTUBdcGAmSzgIEQBM2R0fY/U41GPkwNpcTBKfmnDPNN4w4TOX+NnbfAQAWAKmXcMVAMgaNqrM1UfqkbMmrXkT/nGJO1XF4Xod8/0Ak4KcKzTe3AROjPs/AMdM2M8atk25a8IXAKYawTZZj5jNEvZN2TVldg3Ny/RfkYizALAFnByu819tzvCRWXKqTwAAAABJRU5ErkJggg%3D%3D%27%0A%20%20%20%20%3A%20%27data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAACXBIWXMAAABnAAAAZwHVKNQmAAADGGlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBA3y7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BUMDVQYqg4jIKAX08EGIIUByaVEZhMXIwMDAoM2Qw7CDkY8xi/EskynTYmYR5i4WFpZGVibWNjYetmnsyuybOVw5bnIWcHFyLeV24n7E08KrwXuOr4xfnv+0QIWguuANoS5hO+EvIqtFU8TkxW6Jz5AIlxSXvCE1RzpBRk3mrexWuXp5LwUxhSeKm5SalENU1FR+qp5TW6JerRGsqaPFpvVIe5/ObN0qvSh9KwMZg3+Gj4yOG68xmWxaZZZs7mNhbqlkxWf12/qlzQ3bE3Y77Vc7zHWc6NTqXOVS4JruFuce7hHg6eXl6u3oY+dr7WfpbxFgEWgRZBlsHWIX6hTmFu4dERgZHhUfnR5TEFsZ1xzflzArcVnS5uSDKedT76W9S/+XKZClmG2S454bnZef31owq3Bj0YniByU/ygTLtStcKxOqaqpn1GytvVT3oYG/Ua/Jrzm/ZULrprYr7d87pbvsu5N7OnvX9V3t/zNRZZLP5JIp86aemPZphuxMz1mlsxfOOT/3z3ztBVELOxftXPxqqfQyn+V1KzaufLJaYo3P2sZ129a/2ai0KXLzxC0ntjFut9pRvHPtrhd7lPbG7Zu1/9pB4UOBh/uPnD3Gc9z7RPfJM6d5zvidnXDu0gXRixGX5lx+cFXlWtb19Te+3rK53Xzn1D2h+9EPljx8+9j8SePTM8/FXyS9XPfq9xuPt1PfPf5g+LHh0/kv8l/zv+3/IfAz6deWP2x/I/6t/v8fAATCIM0IpJTRAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAEOSURBVHjabJGtS0MBFMXPJojBMMPwC1nV6FCZoGj/ZVGYiIJDBOEFm3XFP2DFIAu6ZrAYBM0OREEUnN20ICI40OfbsTzYB48b7oF74J4PWUnDjMU4GSv5PEubCo/UuwjMs8FEjLOEPNCkRloWAyxb3GEOGWKRTSLeLFYwXyLFBeaGH8w7z/yyRZlvilR5YV+kuMYY04r3NpNEfBByaYksZUyDAoPsYELmmKJKjj0CS0QYU4rl3WLMeceRCBMItW7CMEd9LxbIcUqOXQJLFld9Iks9Ii0qPTYjAo5pscYJrxzIIs1SV1B5ivzRsFjFfHaiLrDOaIxHCLmnyRmp5LLytKnw1FNWH2XaYoyM9T8AOvnw3YUOg90AAAAASUVORK5CYII%3D%27%3B%0A%7D%3B%0AtoggleImage%28%29%3B%0AServices.prefs.addObserver%28s%2C%20toggleImage%2C%20false%29%3B%0AaddDestructor%28%28%29%3D%3E%20Services.prefs.removeObserver%28s%2C%20toggleImage%29%29%3B%0A%0A//%20nodeName%3A%20menuitem%20-%20%u0434%u043B%u044F%20%u043B%u043E%u0433%u0438%u0447%u0435%u0441%u043A%u0438%u0445%28boolean%29%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%2C%20menu%20-%20%u0434%u043B%u044F%20%u0446%u0435%u043B%u044B%u0445%28integer%29%20%u0438%20%u0441%u0442%u0440%u043E%u043A%u043E%u0432%u044B%u0445%28string%29.%20menuseparator%20-%20%u0434%u043B%u044F%20%u0440%u0430%u0437%u0434%u0435%u043B%u0438%u0442%u0435%u043B%u044F.%0A//%20pref%20-%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%20about%3Aconfig.%0A//%20%u041F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u044B%20%u0438%u043C%u0435%u044E%u0449%u0438%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u044F%20%u043E%u0442%u043B%u0438%u0447%u043D%u044B%u0435%20%u043E%u0442%20%u0434%u0435%u0444%u043E%u043B%u0442%u043D%u044B%u0445%20-%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u044B%20%u0436%u0438%u0440%u043D%u044B%u043C%20%u0441%u0442%u0438%u043B%u0435%u043C%20%u0442%u0435%u043A%u0441%u0442%u0430.%0A//%20restart%20%28%u0437%u0430%u0434%u0430%u0432%u0430%u0442%u044C%20%u0441%20%u043F%u0443%u0441%u0442%u044B%u043C%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%u043C.%20%u0442.%u0435.%2C%20restart%3A%20%22%22%29%20-%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0432%u043E%u0437%u043C%u043E%u0436%u043D%u043E%u0441%u0442%u044C%20%u043F%u0435%u0440%u0435%u0437%u0430%u043F%u0443%u0441%u043A%u0430%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%0A//%20%28%u0441%20%u043F%u043E%u0434%u0442%u0432%u0435%u0440%u0436%u0434%u0435%u043D%u0438%u0435%u043C%20%u0432%20%u0434%u0438%u0430%u043B%u043E%u0433%u043E%u0432%u043E%u043C%20%u043E%u043A%u043D%u0435%29%20%u043F%u043E%u0441%u043B%u0435%20%u0438%u0437%u043C%u0435%u043D%u0435%u043D%u0438%u044F%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430.%0A//%20key%20-%20%u0437%u0430%u0434%u0430%u0435%u0442%20accesskey%20-%20%u043A%u043B%u0430%u0432%u0438%u0448%u0438%20%u0434%u043B%u044F%20%u0431%u044B%u0441%u0442%u0440%u043E%u0439%20%u043D%u0430%u0432%u0438%u0433%u0430%u0446%u0438%u0438%20%u043F%u043E%20%u043C%u0435%u043D%u044E.%0A//%20userChoice%20-%20%u0437%u0430%u0434%u0430%u0435%u0442%20%u043F%u0440%u0435%u0434%u043F%u043E%u0447%u0438%u0442%u0430%u0435%u043C%u043E%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u0438%20%u0435%u0441%u043B%u0438%20%u0442%u0435%u043A%u0443%u0449%u0435%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u0441%20%u043D%u0438%u043C%20%u043D%u0435%20%u0441%u043E%u0432%u043F%u0430%u0434%u0430%u0435%u0442%2C%20%u043F%u0443%u043D%u043A%u0442%20%u043C%u0435%u043D%u044E/%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%20%u043F%u043E%u043C%u0435%u0447%u0430%u044E%u0442%u0441%u044F%20%u043A%u0440%u0430%u0441%u043D%u044B%u043C%20%u0446%u0432%u0435%u0442%u043E%u043C.%0A//%20%u0422%u0430%u043A%u0436%u0435%20%u043C%u043E%u0436%u043D%u043E%20%u0443%u0441%u0442%u0430%u043D%u043E%u0432%u0438%u0442%u044C%20%u043F%u0440%u0435%u0434%u0443%u043F%u0440%u0435%u0436%u0434%u0430%u044E%u0449%u0443%u044E%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u0434%u043B%u044F%20%u0442%u0430%u043A%u0438%u0445%20%u043F%u0443%u043D%u043A%u0442%u043E%u0432.%20%u0421%u043C.%20%u0441%u0442%u0438%u043B%u044C%20%u0432%20%u043F%u043E%u0441%u0442%u0435%20%u043A%u043A%u043D%u043E%u043F%u043A%u0438.%0A//%20%u0410%20%u0442%u0430%u043A%u0436%u0435%20%u043C%u0435%u043D%u044F%u0435%u0442%u0441%u044F%20%u0438%u043A%u043E%u043D%u043A%u0430%20%u0441%u0430%u043C%u043E%u0439%20%u043A%u043D%u043E%u043F%u043A%u0438%20%28%u0441%u043C.%20%u0432%u044B%u0448%u0435%29.%0A//%20strValues%20-%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u044F%20%u0438%20%u043E%u0442%u043E%u0431%u0440%u0430%u0436%u0430%u0435%u043C%u043E%u0435%20%u0432%20%u043C%u0435%u043D%u044E%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u044F.%20%u0417%u0430%u0434%u0430%u0432%u0430%u0442%u044C%20%u0434%u043B%u044F%20%u0446%u0435%u043B%u044B%u0445%28integer%29%20%u0438%20%u0441%u0442%u0440%u043E%u043A%u043E%u0432%u044B%u0445%28string%29%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432.%0A//%20%u0417%u0430%u0434%u0430%u0435%u0442%u0441%u044F%20%u0432%20%u0432%u0438%u0434%u0435%3A%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%2C%2C%2C%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%2C%2C%2Caccesskey%7C%7C%7C%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u04352%2C%2C%2C%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u04352%2C%2C%2Caccesskey2%7C%7C%7C%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u04353%2C%2C%2C%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u04353%20%u0438%20%u0442.%u0434.%20%28accesskey%20-%20%u0437%u0430%u0434%u0430%u0435%u0442%u0441%u044F%20%u043E%u043F%u0446%u0438%u043E%u043D%u0430%u043B%u044C%u043D%u043E%29%0A//%20%u041F%u043E%u043B%u043D%u043E%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u043E%u0442%u043E%u0431%u0440%u0430%u0436%u0430%u0435%u0442%u0441%u044F%20%u0432%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%u0445%2C%20%u043F%u0440%u0438%20%u043D%u0430%u0432%u0435%u0434%u0435%u043D%u0438%u0438%20%u043D%u0430%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u043F%u043E%u0434%u043C%u0435%u043D%u044E/%u043F%u0443%u043D%u043A%u0442%20%u043F%u043E%u0434%u043C%u0435%u043D%u044E.%0A//%20%u0414%u043B%u044F%20%u043B%u043E%u0433%u0438%u0447%u0435%u0441%u043A%u0438%u0445%28boolean%29%20-%20%u043E%u0442%u043E%u0431%u0440%u0430%u0436%u0430%u0435%u0442%u0441%u044F%20%u0441%u0440%u0430%u0437%u0443%20%u043F%u043E%u0441%u043B%u0435%20%u0441%u0430%u043C%u043E%u0433%u043E%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430%20%28%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20true%20-%20%u0442%u0430%u043A%u0436%u0435%20%u0441%u0442%u0430%u0432%u0438%u0442%20%u0433%u0430%u043B%u043E%u0447%u043A%u0443%20%u0434%u043B%u044F%20%u043D%u0435%u0433%u043E%29.%0A//%20%u041B%u041A%u041C%20%u043F%u043E%20%u043F%u0443%u043D%u043A%u0442%u0430%u043C%20%u043C%u0435%u043D%u044E%20-%20%u043F%u0435%u0440%u043A%u043B%u044E%u0447%u0430%u0435%u0442%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u044F%20%u0434%u043B%u044F%20%u043B%u043E%u0433%u0438%u0447%u0435%u0441%u043A%u0438%u0445%28boolean%29%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%2C%0A//%20%u043B%u044E%u0431%u0430%u044F%20%u043A%u043D%u043E%u043F%u043A%u0430%20%u043F%u043E%20%u043F%u0443%u043D%u043A%u0442%u0430%u043C%20%u0432%20%u0441%u0443%u0431%u043C%u0435%u043D%u044E%20-%20%u0437%u0430%u0434%u0430%u0435%u0442%20%u044D%u0442%u043E%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u0434%u043B%u044F%20%u0446%u0435%u043B%u044B%u0445%28integer%29%20%u0438%20%u0441%u0442%u0440%u043E%u043A%u043E%u0432%u044B%u0445%28string%29%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432.%0A//%20%u041F%u041A%u041C%20%u043F%u043E%20%u043F%u0443%u043D%u043A%u0442%u0430%u043C%20%u043C%u0435%u043D%u044E%20%u0438%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u044E%20%u0441%u0443%u0431%u043C%u0435%u043D%u044E%20-%20%u0441%u0431%u0440%u0430%u0441%u044B%u0432%u0430%u0435%u0442%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430%20%u0432%20%u0434%u0435%u0444%u043E%u043B%u0442%u043D%u043E%u0435.%0A//%20%u041A%u043B%u0430%u0432%u0438%u0430%u0442%u0443%u0440%u0430%3A%20Enter%20-%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430.%0A//%20%u0421%u043F%u0435%u0446%u043A%u043B%u0430%u0432%u0438%u0448%u0430%20%u0432%u044B%u0437%u043E%u0432%u0430%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0433%u043E%20%u043C%u0435%u043D%u044E%20/%20Shift+Enter%20-%20%u0441%u0431%u0440%u043E%u0441%20%u0432%20%u0434%u0435%u0444%u043E%u043B%u0442%u043D%u043E%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435.%0A//%20Alt%20+%20M%20-%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438.%20%28%u0421%u043E%u0447%u0435%u0442%u0430%u043D%u0438%u0435%20%u043C%u043E%u0436%u043D%u043E%20%u0441%u043C%u0435%u043D%u0438%u0442%u044C%20%u043D%u0430%20%u0441%u0432%u043E%u0435.%20%u0421%u043C.%20%u0432%20%u043A%u043E%u043D%u0446%u0435%20%u043A%u043E%u0434%u0430%29%0A%5B%0A%20%20%7BnodeName%3A%20%22menuitem%22%2C%20pref%3A%20%22dom.workers.enabled%22%2C%20key%3A%20%27w%27%2C%20userChoice%3A%20%22false%22%7D%2C%0A%20%20%7BnodeName%3A%20%22menuitem%22%2C%20pref%3A%20%22dom.indexedDB.enabled%22%2C%20key%3A%20%27d%27%7D%2C%0A%20%20%7BnodeName%3A%20%22menuitem%22%2C%20pref%3A%20%22dom.storage.enabled%22%2C%20key%3A%20%27s%27%7D%2C%0A%20%20%7BnodeName%3A%20%22menuitem%22%2C%20pref%3A%20%22javascript.enabled%22%2C%20key%3A%20%27j%27%2C%20userChoice%3A%20%22true%22%7D%2C%0A%20%20%7BnodeName%3A%20%22menuseparator%22%7D%2C%0A%20%20%7BnodeName%3A%20%22menu%22%2C%20pref%3A%20%22general.useragent.override%22%2C%20key%3A%20%27u%27%2C%20userChoice%3A%20%22Mozilla/5.0%20%28X11%3B%20U%3B%20Linux%20x86_64%3B%20rv%3A48.0%29%20Gecko/20100101%20Firefox/48.0%22%2C%20strValues%3A%20%22Mozilla/5.0%20%28X11%3B%20U%3B%20Linux%20x86_64%3B%20rv%3A48.0%29%20Gecko/20100101%20Firefox/48.0%2C%2C%2CFirefox48/Linux%7C%7C%7CMozilla/5.0%20%28Windows%20NT%206.1%3B%20WOW64%3B%20rv%3A45.0%29%20Gecko/20100101%20Firefox/45.0%2C%2C%2CFirefox45/Windows%7C%7C%7C%2C%2C%2C%u041F%u0443%u0441%u0442%u043E%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%22%7D%2C%0A%20%20%7BnodeName%3A%20%22menu%22%2C%20pref%3A%20%22general.useragent.locale%22%2C%20key%3A%20%27l%27%2C%20restart%3A%20%22%22%2C%20strValues%3A%20%22en-US%2C%2C%2CEnglish%2C%2C%2Ce%7C%7C%7Cru%2C%2C%2C%u0420%u0443%u0441%u0441%u043A%u0438%u0439%2C%2C%2Cr%22%7D%2C%0A%20%20%7BnodeName%3A%20%22menu%22%2C%20pref%3A%20%22browser.display.document_color_use%22%2C%20key%3A%20%27c%27%2C%20userChoice%3A%20%220%22%2C%20strValues%3A%20%220%2C%2C%2CAutomatic%2C%2C%2C0%7C%7C%7C1%2C%2C%2CAlways%2C%2C%2C1%7C%7C%7C2%2C%2C%2CNever%2C%2C%2C2%22%7D%2C%0A%20%20%7BnodeName%3A%20%22menu%22%2C%20pref%3A%20%22CB.TEST%22%2C%20key%3A%20%27t%27%2C%20userChoice%3A%20%22C%3A%5C%5CDownloads%5C%5CTEST1%22%2C%20strValues%3A%20%22C%3A%5C%5CDownloads%5C%5CTEST1%2C%2C%2CTEST1%2C%2C%2C1%7C%7C%7CC%3A%5C%5CDownloads%5C%5CTEST2%2C%2C%2CTEST2%2C%2C%2C2%22%7D%0A%5D.forEach%28function%28m%29%20%7B%0A%20%20var%20mItem%20%3D%20document.createElement%28m.nodeName%29%3B%0A%20%20var%20browserRestart%20%3D%20%27%27%3B%0A%0A%20%20if%20%28%22restart%22%20in%20m%29%20browserRestart%20%3D%20%27%20if%20%28custombuttons.confirmBox%28null%2C%20%22Restart%3F%22%2C%20%22Yes%22%2C%20%22Cancel%22%29%29%20Services.startup.quit%28Services.startup.eAttemptQuit%20%7C%20Services.startup.eRestart%29%3B%27%3B%0A%0A%20%20if%20%28%22pref%22%20in%20m%29%20%7B%0A%20%20%20%20mItem.setAttribute%28%27closemenu%27%2C%20%27none%27%29%3B%0A%20%20%20%20mItem.setAttribute%28%27oncontextmenu%27%2C%20%27event.preventDefault%28%29%3B%20custombuttons.clearPrefs%28%22%27%20+%20m.pref%20+%20%27%22%29%3B%27%20+%20browserRestart%29%3B%0A%20%20%7D%0A%0A%20%20if%20%28%22key%22%20in%20m%29%20mItem.setAttribute%28%27accesskey%27%2C%20m.key%29%3B%0A%0A%20%20if%20%28m.nodeName%20%3D%3D%3D%20%22menuitem%22%29%20%7B%0A%20%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20%20mItem.setAttribute%28%27oncommand%27%2C%20%27custombuttons.setPrefs%28%22%27%20+%20m.pref%20+%20%27%22%2C%20%21custombuttons.getPrefs%28%22%27%20+%20m.pref%20+%20%27%22%29%29%3B%20if%20%28event.shiftKey%20%26%26%20event.keyCode%20%3D%3D%20event.DOM_VK_RETURN%29%20%7Bevent.preventDefault%28%29%3B%20custombuttons.clearPrefs%28%22%27%20+%20m.pref%20+%20%27%22%29%7D%3B%27%20+%20browserRestart%29%3B%0A%20%20%7D%0A%0A%20%20if%20%28m.nodeName%20%3D%3D%3D%20%22menu%22%29%20%7B%0A%20%20%20%20mItem.setAttribute%28%27class%27%2C%20%27menu-iconic%27%29%3B%0A%0A%20%20%20%20var%20subMenu%20%3D%20mItem.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%0A%20%20%20%20for%20%28var%20value%20of%20m.strValues.split%28%27%7C%7C%7C%27%29%29%20%7B%0A%20%20%20%20%20%20var%20submItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20%20%20%20var%20smVal%20%3D%20value.split%28%27%2C%2C%2C%27%29%5B0%5D%3B%0A%20%20%20%20%20%20var%20smValConv%20%3D%20convertFromUnicode%28%22UTF-8%22%2C%20smVal%29%3B%0A%20%20%20%20%20%20var%20smName%20%3D%20value.split%28%27%2C%2C%2C%27%29%5B1%5D%3B%0A%20%20%20%20%20%20var%20key%20%3D%20value.split%28%27%2C%2C%2C%27%29%5B2%5D%3B%0A%0A%20%20%20%20%20%20key%20%26%26%20submItem.setAttribute%28%27accesskey%27%2C%20key%29%3B%0A%20%20%20%20%20%20submItem.setAttribute%28%27type%27%2C%20%27radio%27%29%3B%0A%20%20%20%20%20%20submItem.setAttribute%28%27label%27%2C%20smName%29%3B%0A%20%20%20%20%20%20submItem.setAttribute%28%27tooltiptext%27%2C%20smVal%29%3B%0A%20%20%20%20%20%20submItem.setAttribute%28%27closemenu%27%2C%20%27none%27%29%3B%0A%20%20%20%20%20%20submItem.setAttribute%28%27oncommand%27%2C%20%27try%7Bcustombuttons.setPrefs%28%22%27%20+%20m.pref%20+%20%27%22%2C%20%22%27%20+%20smValConv.replace%28/%5C%5C/g%2C%20%27%5C%5C%5C%5C%27%29%20+%20%27%22%29%7D%20catch%28e%29%20%7BServices.prefs.setIntPref%28%22%27%20+%20m.pref%20+%20%27%22%2C%20%22%27%20+%20smValConv%20+%20%27%22%29%7D%3B%27%20+%20browserRestart%29%3B%0A%0A%20%20%20%20%20%20subMenu.appendChild%28submItem%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20menuPopup.appendChild%28mItem%29%3B%0A%0A%20%20//%20%u041B%u0438%u0441%u0442%u0435%u043D%u0435%u0440%u044B%20%u043E%u0442%u0441%u043B%u0435%u0436%u0438%u0432%u0430%u044E%u0449%u0438%u0435%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%0A%20%20//%20%u0438%20%u0443%u0441%u0442%u0430%u043D%u0430%u0432%u043B%u0438%u0432%u0430%u044E%u0449%u0438%u0435%20%u0441%u043E%u043E%u0442%u0432%u0435%u0442%u0441%u0442%u0432%u0443%u044E%u0449%u0438%u0435%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u044F%20%u0438%20%u0447%u0435%u043A%u0431%u043E%u043A%u0441%u044B%20%u0434%u043B%u044F%20%u043F%u0443%u043D%u043A%u0442%u043E%u0432%20%u043C%u0435%u043D%u044E%20%u043F%u0440%u0438%20%u043E%u0442%u043A%u0440%u044B%u0442%u0438%u0438%20%u043C%u0435%u043D%u044E%20%u0438%20%u043A%u043B%u0438%u043A%u0430%u0445%0A%20%20for%20%28var%20type%20of%20%5B%27command%27%2C%20%27popupshowing%27%2C%20%27contextmenu%27%5D%29%20%7B%0A%20%20%20%20addEventListener%28type%2C%20%28e%29%3D%3E%20%7B%0A%20%20%20%20%20%20setTimeout%28%28%29%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20%28%22pref%22%20in%20m%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20val%2C%20def%3B%0A%0A%20%20%20%20%20%20%20%20%20%20def%20%3D%20Services.prefs.prefHasUserValue%28m.pref%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20val%20%3D%20Services.prefs.getComplexValue%28m.pref%2C%20Ci.nsISupportsString%29.data%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20catch%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28Services.prefs.getPrefType%28m.pref%29%20%3D%3D%2064%29%20val%20%3D%20custombuttons.getPrefs%28m.pref%29.toString%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20val%20%3D%20custombuttons.getPrefs%28m.pref%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20def%20%3F%20mItem.style.setProperty%28%27font-weight%27%2C%20%27bold%27%2C%20%27important%27%29%20%3A%20mItem.style.removeProperty%28%27font-weight%27%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20%28m.nodeName%20%3D%3D%3D%20%27menuitem%27%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%27checked%27%2C%20val%29%3B%0A%20%20%20%20%20%20%20%20%20%20mItem.label%20%3D%20m.pref%20+%20%27%3B%27%20+%20val%3B%0A%0A%20%20%20%20%20%20%20%20%20%20if%20%28%22userChoice%22%20in%20m%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20try%20%7Bvar%20usrChc%20%3D%20%28val.toString%28%29%20%3D%3D%3D%20m.userChoice%29%7D%20catch%28e%29%20%7BusrChc%20%3D%20false%7D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%27user-choice%27%2C%20usrChc%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20usrChc%20%3F%20mItem.style.removeProperty%28%27color%27%29%20%3A%20mItem.style.setProperty%28%27color%27%2C%20%27orangered%27%2C%20%27important%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20%28subMenu%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20for%20%28var%20smitem%20of%20subMenu.getElementsByTagName%28%27menuitem%27%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20smval%20%3D%20smitem.getAttribute%28%27tooltiptext%27%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20smitem.setAttribute%28%27checked%27%2C%20%28val%20%3D%3D%3D%20smval%29%20%3F%20true%20%3A%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20%28m.nodeName%20%3D%3D%3D%20%22menu%22%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20vname%3B%0A%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20vname%20%3D%20subMenu.getElementsByAttribute%28%27checked%27%2C%20%27true%27%29%5B0%5D.getAttribute%28%27label%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20catch%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21Services.prefs.prefHasUserValue%28m.pref%29%29%20vname%20%3D%20%27Default%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20vname%20%3D%20%27Other%27%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%27label%27%2C%20m.pref%20+%20%27%20-%20%27%20+%20vname%29%3B%0A%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%27tooltiptext%27%2C%20val%20%7C%7C%20%27This%20preferences%20has%20null%20value%20or%20does%20not%20exist.%27%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20if%20%28%22userChoice%22%20in%20m%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20smUsrChc%20%3D%20%28val%20%3D%3D%3D%20m.userChoice.toString%28%29%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%27user-choice%27%2C%20smUsrChc%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20smUsrChc%20%3F%20mItem.style.removeProperty%28%27color%27%29%20%3A%20mItem.style.setProperty%28%27color%27%2C%20%27orangered%27%2C%20%27important%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20if%20%28%22userChoice%22%20in%20m%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20hasNotUserChoice%20%3D%20menuPopup.getElementsByAttribute%28%27user-choice%27%2C%20%27false%27%29%5B0%5D%3B%0A%0A%20%20%20%20%20%20%20%20%20%20custombuttons.setPrefs%28s%2C%20hasNotUserChoice%20%3F%20true%20%3A%20false%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%2C%200%29%0A%20%20%20%20%7D%2C%20false%2C%20menuPopup%29%0A%20%20%7D%0A%7D%29%3B%0A%0A//%20%u041B%u0438%u0441%u0442%u0435%u043D%u0435%u0440%20%u043F%u043E%u0437%u0432%u043E%u043B%u044F%u044E%u0449%u0438%u0439%20%u0441%u0431%u0440%u043E%u0441%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%20%u0441%20%u0441%u0443%u0431%u043C%u0435%u043D%u044E%20%u043F%u043E%20Shift%20+%20Enter%0A//%20%u0417%u0430%20%u043A%u043E%u0434%20%u0441%u043F%u0430%u0441%u0438%u0431%u043E%20Dumby%0AaddEventListener%28%22popupshown%22%2C%20%7B%0A%20%20handleEvent%3A%20function%28e%29%20%7B%0A%20%20%20%20this%5Be.type%5D%28e%29%3B%0A%20%20%7D%2C%0A%20%20popupshown%3A%20function%28e%29%20%7B%0A%20%20%20%20if%20%28e.target%20%21%3D%20menuPopup%29%20return%3B%0A%20%20%20%20menuPopup.addEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20window.addEventListener%28%22keydown%22%2C%20this%2C%20true%29%3B%0A%20%20%7D%2C%0A%20%20popuphidden%3A%20function%28e%29%20%7B%0A%20%20%20%20if%20%28e.target%20%21%3D%20menuPopup%29%20return%3B%0A%20%20%20%20menuPopup.removeEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20window.removeEventListener%28%22keydown%22%2C%20this%2C%20true%29%3B%0A%20%20%7D%2C%0A%20%20popupshowing%3A%20function%28e%29%20%7B%0A%20%20%20%20e.target.parentNode.removeEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%7D%2C%0A%20%20get%20old%28%29%20%7B%0A%20%20%20%20delete%20this.old%3B%0A%20%20%20%20this.e%20%3D%20new%20MouseEvent%28%22contextmenu%22%2C%20%7B%7D%29%3B%0A%20%20%20%20return%20this.old%20%3D%20parseInt%28Services.appinfo.platformVersion%29%20%3C%2025%3B%0A%20%20%7D%2C%0A%20%20get%20prop%28%29%20%7B%0A%20%20%20%20delete%20this.prop%3B%0A%20%20%20%20if%20%28%22key%22%20in%20KeyboardEvent.prototype%29%20this.prop%20%3D%20%22key%22%2C%20this.val%20%3D%20%22Enter%22%3B%0A%20%20%20%20else%20this.prop%20%3D%20%22keyCode%22%2C%20this.val%20%3D%20KeyboardEvent.DOM_VK_RETURN%3B%0A%20%20%20%20return%20this.prop%3B%0A%20%20%7D%2C%0A%20%20keydown%3A%20function%28e%29%20%7B%0A%20%20%20%20if%20%28%21e.shiftKey%20%7C%7C%20e.ctrlKey%20%7C%7C%20e.altKey%20%7C%7C%20e%5Bthis.prop%5D%20%21%3D%20this.val%29%20return%3B%0A%20%20%20%20var%20target%20%3D%20menuPopup.querySelector%28%22menu%5B_moz-menuactive%5D%3Anot%28%5Bopen%5D%29%22%29%3B%0A%20%20%20%20if%20%28%21target%29%20return%3B%0A%0A%20%20%20%20this.old%20%3F%20target.addEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%20%3A%20e.stopPropagation%28%29%3B%0A%20%20%20%20target.dispatchEvent%28this.e%29%3B%0A%20%20%20%20menuPopup.dispatchEvent%28this.e%29%3B%0A%20%20%7D%0A%7D%2C%20false%2C%20menuPopup%29%3B%0A%0A//%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u043F%u043E%20%u0441%u043E%u0447%u0435%u0442%u0430%u043D%u0438%u044E%20%u043A%u043B%u0430%u0432%u0438%u0448%20Alt%20+%20M%20%28%u043D%u0435%20%u0437%u0430%u0432%u0438%u0441%u0438%u0442%20%u043E%u0442%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0440%u0430%u0441%u043A%u043B%u0430%u0434%u043A%u0438%20%u043A%u043B%u0430%u0432%u0438%u0430%u0442%u0443%u0440%u044B%29%0A//%20%u041F%u043E%u0441%u043C%u043E%u0442%u0440%u0435%u0442%u044C%20%u043A%u043E%u0434%u044B%20%u043A%u043B%u0430%u0432%u0438%u0448%20%u043C%u043E%u0436%u043D%u043E%20%u0437%u0434%u0435%u0441%u044C%3A%20https%3A//developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode%23Constants_for_keyCode_value%0AaddEventListener%28%27keyup%27%2C%20%28e%29%3D%3E%20%7B%0A%20%20if%20%28e.altKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.ctrlKey%20%26%26%20e.keyCode%20%3D%3D%2077%29%20%7B%0A%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20e.stopPropagation%28%29%3B%0A%20%20%20%20menuPopup.showPopup%28this%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%20%20%7D%0A%7D%2C%20false%2C%20window%29%3B%0A%0A//%20%u041A%u043E%u043D%u0432%u0435%u0440%u0442%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20%u044E%u043D%u0438%u043A%u043E%u0434%20.............%0Afunction%20convertFromUnicode%28charset%2C%20str%29%20%7B%0A%20%20%20var%20converter%20%3D%20Cc%5B%22@mozilla.org/intl/scriptableunicodeconverter%22%5D.createInstance%28Ci.nsIScriptableUnicodeConverter%29%3B%0A%20%20%20converter.charset%20%3D%20charset%3B%0A%20%20%20str%20%3D%20converter.ConvertFromUnicode%28str%29%3B%0A%20%20%20return%20str%20+%20converter.Finish%28%29%3B%0A%7D%3B%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отсутствует
tchack
Второй код отсюда "нажимает" на Ctrl+B
Ссылка, чтобы поменять коды клавиш, есть в коде кнопки.
Спасибо, но я не смог осилить.
// https://dxr.mozilla.org/mozilla-central/source/dom/interfaces/base/nsIDOMWindowUtils.idl // https://hg.mozilla.org/mozilla-central/file/tip/widget/nsIWidget.h (~ #l1482) QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).sendNativeKeyEvent( 0x00000409, // (US) aNativeKeyboardLayout HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\ 0x42, // (B key) aNativeKeyCode https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx 0x0400, // (CTRL_L) aModifierFlags nsIWidget.h > Modifiers "b", // aCharacters null // aUnmodifiedCharacters nsIWidget.h > «... ignored on Windows.» // aObserver [optional] );
Может кто подскажет, что конкретно надо изменить и на что, чтобы нажимались CTRL+ALT+P??
Отредактировано tchack (26-01-2017 12:54:05)
Отсутствует
dedfor пишет: Как извлечь текст из текстового файла?Пример:Выделить кодКод:alert( custombuttonsUtils.readFile("C:\\Users\\qwerty\\Desktop\\text.txt") );
Спасибо, но русский текст изнахрачивает, как быть?
Отсутствует
Ребята, помогите пожалуйста сделать кнопку в контектсное меню с этим кодом.
Это код для сервиса визуальных онлайн закладок https://raindrop.io/, который октрывает небольшое окно для добавления активной вкладки в выбраную папку закладок.
Сейчас для его работы, его нужно вставить в закладку вместо адреса сайта, а я бы хотел кнопку в контекстное меню.
javascript:(function(){%20var%20rspW=620,%20rspH=420,%20rspL=parseInt((screen.width/2)-(rspW/2)),%20rspT=parseInt((screen.height/2)-(rspH/2));%20window.open("http://raindrop.io/frame?url="+encodeURIComponent(window.location.href)+"&title="+encodeURIComponent(document.title),"raindrop-save","width="+rspW+",height="+rspH+",resizable=yes,scrollbars=yes,status=false,location=false,toolbar=false,left="+rspL+",top="+rspT)%20})();
((contextMenu) => { var array = [ { lab: "Inoreader", url: "http://www.inoreader.com/", img: "https://www.inoreader.com/favicon.ico"}, { lab: "Realtimeboard", url: "https://realtimeboard.com/login/", img: "https://realtimeboard.com/favicon.ico"}, { lab: "Music", url: "http://web.meridianvk.com/", img: "http://web.meridianvk.com/favicon.ico"}, { lab: "Cloud", url: "https://cloud.mail.ru/home/", img: "https://cloud.mail.ru/favicon.ico"}, ] array.forEach(function(m,i) { var mItem = document.createElement("menuitem"); mItem.setAttribute("label", m.lab ); mItem.setAttribute("id", "link"+i ); mItem.setAttribute("url", m.url ); mItem.setAttribute("class", "menuitem-iconic"); mItem.setAttribute("image", m.img ); mItem.addEventListener("click", openLink ); contextMenu.appendChild( mItem ); }); function openLink(e) { var url = e.target.getAttribute("url"); if (url == "about:newtab") { BrowserOpenTab(); return; }; e.button ? gBrowser.selectedTab = gBrowser.addTab(url) : loadURI(url); }; addDestructor(()=> array.forEach(function(m,i) contextMenu.removeChild(document.getElementById('link'+i)) )); })(document.getElementById("contentAreaContextMenu") );
Отредактировано Stakhovsky (26-01-2017 20:31:11)
Отсутствует
tchack
QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).sendNativeKeyEvent( 0x00000409, // (US) aNativeKeyboardLayout HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\ 0x50, // (P key) aNativeKeyCode https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx 0x1400, // (CTRL_L + ALT_L) aModifierFlags nsIWidget.h > Modifiers "p", // aCharacters null // aUnmodifiedCharacters nsIWidget.h > «... ignored on Windows.» // aObserver [optional] );
Отредактировано yup (26-01-2017 20:49:50)
Отсутствует
Отсутствует
lokiju
там же написано
["Имя", function(){код_без_javascript:}],
а у меня код похоже с яваскриптом?
javascript:(function(){%20var%20rspW=620,%20rspH=420,%20rspL=parseInt((screen.width/2)-(rspW/2)),%20rspT=parseInt((screen.height/2)-(rspH/2));%20window.open("http://raindrop.io/frame?url="+encodeURIComponent(window.location.href)+"&title="+encodeURIComponent(document.title),"raindrop-save","width="+rspW+",height="+rspH+",resizable=yes,scrollbars=yes,status=false,location=false,toolbar=false,left="+rspL+",top="+rspT)%20})();
расскодировал, пробовал вставлять, не работает. Пункт в контекстном меню не появляется.
Отредактировано Stakhovsky (27-01-2017 00:17:53)
Отсутствует
а у меня код похоже с яваскриптом?
Это значит - убрать из кода значение "javascript:"
расскодировал
Не вижу раскодированного,ибо
Если в коде вашего букмарклета встречается "%20" и т.п, то сначала его нужно раскодировать на http://www.codenet.ru/services/urlencode-urldecode/ - нижнее правое поле.
Присмотрется и чуть-чуть подумать. Ну не хотите думать - получайте готовое.
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3Eext%20menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-1%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20itemsArr%20%3D%20%5B%0A%20%20%20%20%5B%22%u0418%u0441%u043A%u0430%u0442%u044C%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0443%20%u0432%20%u043A%u044D%u0448%u0435%20Google%22%2C%20function%28%29%7Bwindow.open%28%27http%3A//www.google.com/search%3Fq%3Dcache%3A%27+location.href%29%7D%5D%2C%0A%20%20%20%20%5B%22%u0418%u0441%u043A%u0430%u0442%u044C%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0443%20%u043D%u0430%20Archive.org%22%2C%20function%28%29%7Bwindow.open%28%27http%3A//web.archive.org/web/*/%27+location.href%29%7D%5D%2C%0A%20%20%20%20%2C%0A%20%20%20%20%5B%22%u0418%u0441%u043A%u0430%u0442%u044C%20%u043B%u043E%u0433%u0438%u043D%20%u043D%u0430%20BugMeNot.com%22%2C%20function%28%29%7Bwindow.open%28%27http%3A//www.bugmenot.com/view/%27+location.hostname%2C%27BugMeNot_%27+location.hostname%2C%27width%3D500%2Cheight%3D400%2Cleft%3D100%2Ctop%3D100%2Cscrollbars%3Dyes%2Clocation%3Dno%27%29%7D%5D%2C%0A%20%20%20%20%5B%22%u041F%u0440%u043E%u0432%u0435%u0440%u0438%u0442%u044C%20%u0441%20%u043F%u043E%u043C%u043E%u0449%u044C%u044E%20Dr.Web%20Online%22%2C%20function%28%29%7Bwindow.open%28%27http%3A//online.drweb.com/result%3Furl%3D%27+escape%28location.href%29%2C%27DrWeb_%27+location.href%2C%27width%3D640%2Cheight%3D400%2Cleft%3D200%2Ctop%3D100%2Cscrollbars%3Dyes%2Clocation%3Dno%27%29%7D%5D%2C%0A%20%20%20%20%5B%22%u041F%u0440%u043E%u0432%u0435%u0440%u0438%u0442%u044C%20%u0434%u043E%u0441%u0442%u0443%u043F%u043D%u043E%u0441%u0442%u044C%20%u0441%u0430%u0439%u0442%u0430%22%2C%20function%28%29%7Bwindow.open%28%27http%3A//downforeveryoneorjustme.com/%27+location.hostname%2C%27DownForMe_%27+location.hostname%2C%27width%3D600%2Cheight%3D400%2Cleft%3D100%2Ctop%3D100%2Cscrollbars%3Dyes%2Clocation%3Dno%27%29%7D%5D%2C%0A%20%20%20%20%2C%0A%20%20%20%20%5B%22%u041F%u043E%u0438%u0441%u043A%20%u043F%u043E%20%u0442%u0435%u043A%u0443%u0449%u0435%u043C%u0443%20%u0441%u0430%u0439%u0442%u0443%22%2C%20function%28%29%7Bvar%20getSel%3Dfunction%28w%29%7Bvar%20s%2Cd%3Dw.document%3Bif%28d.selection%29%7Bvar%20r%3Dd.selection.createRange%28%29%3Bs%3Dr%3Fr.text%3A%27%27%7Delse%7Bs%3Dd.getSelection%28%29.toString%28%29%3Bif%28%21s%29%7Bvar%20e%2Ct%3Dd.getElementsByTagName%28%27textarea%27%29%2Cu%3Dd.getElementsByTagName%28%27input%27%29%2Ci%3Dt.length%3Bwhile%28e%3D%28i%3E0%29%3Ft%5B--i%5D%3Au%5B-i--%5D%29try%7Bif%28e.offsetHeight%3E0%26%26%28s%3De.value.substring%28e.selectionStart%2Ce.selectionEnd%29%29%29break%7Dcatch%28x%29%7B%7D%7D%7D%3Bif%28%21s%29for%28var%20j%3D0%2Cf%3Bf%3Dw.frames%5Bj%5D%3Bj++%29%7Btry%7Bif%28s%3DgetSel%28f%29%29break%7Dcatch%28x%29%7B%7D%7D%3Breturn%20s%7D%3Bvar%20w%3Dwindow%2Cs%3Dw.prompt%28%27%u041F%u043E%u0438%u0441%u043A%20%u043D%u0430%20%u044D%u0442%u043E%u043C%20%u0441%u0430%u0439%u0442%u0435%20%u0441%20%u043F%u043E%u043C%u043E%u0449%u044C%u044E%20Google%27%2CgetSel%28w%29%29%3Bif%28s%29%7Bw.open%28%27http%3A//www.google.com/search%3Fas_q%3D%27+encodeURIComponent%28s%29+%27%26as_sitesearch%3D%27+w.location.hostname%29%7D%7D%5D%2C%0A%20%20%20%20%5B%22%u0421%u0433%u0435%u043D%u0435%u0440%u0438%u0440%u043E%u0432%u0430%u0442%u044C/%u043F%u043E%u043A%u0430%u0437%u0430%u0442%u044C%20%u043F%u0430%u0440%u043E%u043B%u044C%22%2C%20function%28%29%7Bvar%20getRandomPass%3Dfunction%28d%29%7Bvar%20chars%3D%27abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890%27%3Bvar%20ret%3D%27%27%2Clen%3Dd%3E%3D3%3Fd%3A3%2Cbuf%3Dnew%20Uint8Array%28len%29%3Bcrypto.getRandomValues%28buf%29%3Bfor%28var%20i%3D0%3Bi%3Clen%3Bi++%29ret+%3Dchars.charAt%28buf%5Bi%5D*chars.length%3E%3E8%29%3Breturn/%5E%28%3F%3D.*%5Cd%29%28%3F%3D.*%5Ba-z%5D%29%28%3F%3D.*%5BA-Z%5D%29.+%24/.test%28ret%29%3Fret%3AgetRandomPass%28len%29%7D%3Bvar%20findPassEle%3Dfunction%28p%29%7Bvar%20c%2Cs%3D%27%27%2Cr%3Dfalse%2Cf%3Ddocument.getElementsByTagName%28%27form%27%29%3Bfor%28var%20i%3D0%3Bi%3Cf.length%3Bi++%29%7Bc%3Df%5Bi%5D.elements%3Bfor%28var%20j%3D0%2Ce%3Be%3Dc%5Bj%5D%3Bj++%29%7Bif%28e.type%3D%3D%27password%27%29%7Br%3Dtrue%3Bif%28p%29%7Be.value%3Dp%3Be.focus%28%29%7Delse%20if%28e.value%29s+%3D%27%5Cn%5Cn%27+e.value%7D%7D%7D%3Breturn%20r%3Fs%3Anull%7D%3Bvar%20s%3DfindPassEle%28%29%3Bif%28s%29%7Balert%28%27%u041D%u0430%20%u044D%u0442%u043E%u0439%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0443%u0436%u0435%20%u0438%u043C%u0435%u0435%u0442%u0441%u044F%20%u043F%u0430%u0440%u043E%u043B%u044C%3A%27+s%29%7Delse%7BfindPassEle%28prompt%28%27%u041F%u0430%u0440%u043E%u043B%u044C%20%u0441%u0433%u0435%u043D%u0435%u0440%u0438%u0440%u043E%u0432%u0430%u043D%27+%28s%3D%3Dnull%3F%27%3A%27%3A%27.%20%u0412%u0441%u0442%u0430%u0432%u0438%u0442%u044C%3F%27%29%2CgetRandomPass%2812%29%29%29%7D%7D%5D%2C%0A%20%20%20%20%5B%22%u041F%u043E%u043A%u0430%u0437%u0430%u0442%u044C%20%u0441%u0441%u044B%u043B%u043A%u0438%20%u043D%u0430%20Flash/Video%22%2C%20function%28%29%7Bvar%20getVideo%3Dfunction%28flashvars%2Csrc%29%7Bvar%20getLink%3Dfunction%28s%29%7Bvar%20a%3Ds.match%28/%5B%5E%5Cs%5Cx22%3D%26%3F%5D+%5C.%5B%5E%5Cs%5Cx22%3D%26%3F%5C/%5D*%28flv%7Cmp4%29/i%29%3Breturn%20a%3Fa%5B0%5D%3A%27%27%7D%3Bvar%20getQuery%3Dfunction%28s%2Cq%29%7Bvar%20a%3Ds.match%28new%20RegExp%28%27%28%5E%7C%5B%26%3F%5D%29%27+q+%27%3D%28%5B%5E%26%5D+%29%27%29%29%3Breturn%20a%3Fa%5B2%5D%3A%27%27%7D%3Bvar%20getJson%3Dfunction%28s%2Cq%29%7Bvar%20a%3Ds.match%28new%20RegExp%28%27%5Cx22%27+q+%27%5Cx22%3A%5C%5Cs*%28%5Cx22.+%3F%5Cx22%29%27%29%29%3Breturn%20a%3Feval%28a%5B1%5D%29%3A%27%27%7D%3Bvar%20getURL%3Dfunction%28f%2Cs%29%7Breturn%20f.match%28/%5E%28%5Cw+%3A%5C/%5C/%7C%5C/%7C%24%29/%29%3Ff%3As.replace%28/%5B%23%3F%5D.*%24/%2C%27%27%29.replace%28/%5B%5E%5C/%5D*%24/%2Cf%29%7D%3Bvar%20decodeURL%3Dfunction%28s%29%7Btry%7Breturn%20decodeURIComponent%28s%29%7Dcatch%28e%29%7Breturn%20unescape%28s%29%7D%7D%3Bvar%20q%3D%27%27%2Curl%3Dlocation.href%2Cflv%3DdecodeURL%28flashvars%29%3Bif%28url.indexOf%28%27youtube.com/watch%3F%27%29%21%3D-1%26%26%28q%3DgetQuery%28flv%2C%27url%27%29%29%29return%20decodeURL%28q%29+%27%26signature%3D%27+getQuery%28flv%2C%27sig%27%29+%27%26title%3D%27+encodeURIComponent%28document.title%29%3Bif%28url.indexOf%28%27video.google.com/videoplay%3F%27%29%21%3D-1%26%26%28q%3DgetQuery%28src%2C%27videoUrl%27%29%29%29return%20decodeURL%28q%29%3Bif%28url.indexOf%28%27metacafe.com/watch/%27%29%21%3D-1%26%26%28q%3DgetJson%28flv%2C%27mediaURL%27%29%29%29return%20q+%27%3F__gda__%3D%27+getJson%28flv%2C%27value%27%29%3Bif%28url.indexOf%28%27dailymotion.com/%27%29%21%3D-1%26%26%28q%3DgetJson%28flv%2C%27hqURL%27%29%7C%7CgetJson%28flv%2C%27sdURL%27%29%29%29return%20q%3Bif%28url.indexOf%28%27www.break.com/%27%29%21%3D-1%26%26%28q%3DgetQuery%28flv%2C%27videoPath%27%29%29%29return%20q+%27%3F%27+getQuery%28flv%2C%27icon%27%29%3Bif%28url.indexOf%28%27my-hit.ru/film/%27%29%21%3D-1%26%26%28q%3DgetLink%28flv%29%29%29return%20q+%27%3Fstart%3D0%26id%3D%27+getQuery%28flv%2C%27id%27%29%3Breturn%20getURL%28getLink%28flv%29%7C%7CdecodeURL%28getLink%28src%29%29%2Csrc%29%7D%3Bvar%20createLink%3Dfunction%28url%2Ctxt%29%7Bvar%20oLnk%3Ddocument.createElement%28%27a%27%29%3BoLnk.setAttribute%28%27href%27%2Curl%29%3BoLnk.setAttribute%28%27style%27%2C%27display%3Ainline%3Bmargin%3A0%3Bpadding%3A0%3Bfont%3A14px%20Times%20New%20Roman%3Btext-decoration%3Aunderline%3Btext-transform%3Anone%3B%27%29%3BoLnk.appendChild%28document.createTextNode%28txt%29%29%3Breturn%20oLnk%7D%3Bvar%20showLink%3Dfunction%28oEle%2Csrc%2Cflv%29%7Bvar%20cName%3D%27ujs_downlink%27%3Bvar%20p%3DoEle.previousSibling%3Bif%28p%26%26p.className%3D%3DcName%29%7BoEle.parentNode.removeChild%28p%29%3Breturn%7D%3Bif%28src%29%7Bvar%20oDiv%3Ddocument.createElement%28%27div%27%29%3BoDiv.setAttribute%28%27style%27%2C%27display%3Ablock%3Bposition%3Astatic%3Bfloat%3Anone%3Bmargin%3A0%3Bpadding%3A0%3Bwidth%3Aauto%3Bheight%3Aauto%3Bfont%3A14px%20Times%20New%20Roman%3Bcolor%3A%23555%3Bz-index%3A999%3B%27%29%3BoDiv.className%3DcName%3BoDiv.appendChild%28createLink%28src%2C%27Download%27%29%29%3Bvar%20v%3DgetVideo%28flv%2Csrc%29%3Bif%28v%29%7BoDiv.appendChild%28document.createTextNode%28%27%20%28%27%29%29%3BoDiv.appendChild%28createLink%28v%2C%27Video%27%29%29%3BoDiv.appendChild%28document.createTextNode%28%27%29%27%29%29%7D%3BoEle.parentNode.insertBefore%28oDiv%2CoEle%29%7D%7D%3Bvar%20getParam%3Dfunction%28e%2Cn%29%7Bvar%20v%3D%27%27%2Cr%3Dnew%20RegExp%28%27%5E%28%27+n+%27%29%24%27%2C%27i%27%29%3Bvar%20param%3De.getElementsByTagName%28%27param%27%29%3Bfor%28var%20i%3D0%2Cp%3Bp%3Dparam%5Bi%5D%3Bi++%29%7Bif%28r.test%28p.getAttribute%28%27name%27%29%29%29%7Bv%3Dp.getAttribute%28%27value%27%29%3Bbreak%7D%7D%3Breturn%20v%7D%3Bvar%20searchEmbed%3Dfunction%28w%29%7Bif%28%21w%29return%3Bvar%20obj%3Dw.document.getElementsByTagName%28%27object%27%29%3Bfor%28var%20i%3D0%2Coi%3Boi%3Dobj%5Bi%5D%3Bi++%29%7Bif%28oi.parentNode%29showLink%28oi%2Coi.getAttribute%28%27data%27%29%7C%7Coi.getAttribute%28%27src%27%29%7C%7CgetParam%28oi%2C%27movie%7Cdata%7Csrc%7Ccode%7Cfilename%7Curl%27%29%7C%7C%28oi.getElementsByTagName%28%27embed%27%29.length%26%26oi.getElementsByTagName%28%27embed%27%29%5B0%5D.getAttribute%28%27src%27%29%29%2CgetParam%28oi%2C%27flashvars%27%29%29%7D%3Bvar%20em%3Dw.document.getElementsByTagName%28%27embed%27%29%3Bfor%28var%20i%3D0%2Cei%3Bei%3Dem%5Bi%5D%3Bi++%29%7Bif%28ei.parentNode%26%26ei.parentNode.nodeName.toLowerCase%28%29%21%3D%27object%27%29showLink%28ei%2Cei.getAttribute%28%27src%27%29%2Cei.getAttribute%28%27flashvars%27%29%29%7D%3Bfor%28var%20j%3D0%2Cf%3Bf%3Dw.frames%5Bj%5D%3Bj++%29%7Btry%7Barguments.callee%28f%29%7Dcatch%28e%29%7B%7D%7D%7D%3BsearchEmbed%28window%29%7D%5D%2C%0A%20%20%20%20%2C%0A%20%20%20%20%5B%22%u0418%u043D%u0444%u043E%u0440%u043C%u0430%u0446%u0438%u044F%20%u043E%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%22%2C%20function%28%29%7Bvar%20meta%3D%27%27%2Cscripts%3D%27%27%2Cembed%3D%27%27%2Ciframes%3D%27%27%2Ccookies%3D%27%27%3Bvar%20corrUrl%3Dfunction%28url%29%7Bif%28%21url%29return%27%27%3Bvar%20q%3Durl.indexOf%28%27%3F%27%29+1%3Breturn%28%28q%26%26url.length%3E50%29%3Furl.slice%280%2Cq%3E50%3Fq%3A50%29+%27%5Cu2026%27%3Aurl%29+%27%5Cn%27%7D%3Bvar%20fullUrl%3Dfunction%28url%29%7Bvar%20a%3Ddocument.createElement%28%27a%27%29%3Ba.href%3Durl%3Breturn%20url%3FcorrUrl%28a.href%29%3A%27%27%7D%3Bvar%20m%3Ddocument.getElementsByTagName%28%27meta%27%29%3Bfor%28var%20i%3D0%2Cmi%3Bmi%3Dm%5Bi%5D%3Bi++%29%7Bmeta+%3D%28mi.name%3Fmi.name+%27%3A%20%27%3A%28mi.httpEquiv%3Fmi.httpEquiv+%27%3A%20%27%3A%27%27%29%29+mi.content+%27%5Cn%27%7D%3Bvar%20s%3Ddocument.getElementsByTagName%28%27script%27%29%3Bfor%28var%20i%3D0%2Csi%3Bsi%3Ds%5Bi%5D%3Bi++%29%7Bif%28si.src%29scripts+%3DcorrUrl%28si.src%29%7D%3Bvar%20e%3Ddocument.getElementsByTagName%28%27embed%27%29%3Bvar%20o%3Ddocument.getElementsByTagName%28%27object%27%29%3Bfor%28var%20i%3D0%2Cei%3Bei%3De%5Bi%5D%3Bi++%29%7Bembed+%3DfullUrl%28ei.getAttribute%28%27src%27%29%29%7D%3Bfor%28var%20i%3D0%2Coi%3Boi%3Do%5Bi%5D%3Bi++%29%7Bvar%20src%3Doi.getAttribute%28%27data%27%29%7C%7Coi.getAttribute%28%27src%27%29%7C%7Coi.getAttribute%28%27source%27%29%3Bif%28%21src%29%7Bvar%20params%3Doi.getElementsByTagName%28%27param%27%29%3Bfor%28var%20j%3D0%2Cp%3Bp%3Dparams%5Bj%5D%3Bj++%29%7Bif%28p.hasAttribute%28%27name%27%29%26%26p.getAttribute%28%27name%27%29.match%28/%5E%28movie%7Cdata%7Csrc%7Ccode%7Cfilename%7Curl%7Csource%29%24/i%29%29%7Bsrc%3Dp.getAttribute%28%27value%27%29%3Bbreak%7D%7D%7D%3Bvar%20lnk%3DfullUrl%28src%29%3Bif%28embed.indexOf%28lnk%29%3D%3D-1%29embed+%3Dlnk%7D%3Bvar%20f%3Ddocument.getElementsByTagName%28%27iframe%27%29%3Bfor%28var%20i%3D0%2Cfi%3Bfi%3Df%5Bi%5D%3Bi++%29%7Bif%28fi.src%29iframes+%3DcorrUrl%28fi.src%29%7D%3Bvar%20c%3Ddocument.cookie.split%28%27%3B%27%29%3Bfor%28var%20i%3D0%2Cci%3Bci%3Dc%5Bi%5D%3Bi++%29%7Bwhile%28ci.charAt%280%29%3D%3D%27%20%27%29ci%3Dci.slice%281%29%3Bif%28ci.length%3E40%29ci%3Dci.slice%280%2C40%29+%27%5Cu2026%27%3Bcookies+%3Dci+%27%5Cn%27%7D%3Bvar%20lastmod%3D%28Date.parse%28document.lastModified%29%3D%3D0%29%3F%27%27%3Adocument.lastModified%3Bvar%20mode%3Ddocument.getElementsByTagName%28%27HTmL%27%29.length%3D%3D0%3F%27Really%20strict%27%3A%28document.compatMode%3D%3D%27CSS1Compat%27%3F%27Normal%20strict%27%3A%27Quirks%27%29%3Bvar%20title%3Ddocument.title%7C%7C%28document.getElementsByTagName%28%27title%27%29%5B0%5D%26%26document.getElementsByTagName%28%27title%27%29%5B0%5D.text%29%7C%7C%27%27%3Bif%28meta%29meta%3D%27%5CnMeta-%u0434%u0430%u043D%u043D%u044B%u0435%3A%5Cn%27+meta%3Bif%28scripts%29scripts%3D%27%5Cn%u0421%u043A%u0440%u0438%u043F%u0442%u044B%3A%5Cn%27+scripts%3Bif%28embed%29embed%3D%27%5Cn%u0412%u0441%u0442%u0440%u043E%u0435%u043D%u043D%u044B%u0435%20%u043E%u0431%u044A%u0435%u043A%u0442%u044B%3A%5Cn%27+embed%3Bif%28iframes%29iframes%3D%27%5CnIframes%3A%5Cn%27+iframes%3Bif%28cookies%29cookies%3D%27%5CnCookies%3A%5Cn%27+cookies%3Balert%28%27%u0418%u0434%u0435%u043D%u0442%u0438%u0444%u0438%u043A%u0430%u0446%u0438%u044F%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%3A%20%27+navigator.userAgent+%27%5Cn%5Cn%u0417%u0430%u0433%u043E%u043B%u043E%u0432%u043E%u043A%3A%20%27+title+%27%5Cn%5Cn%u0410%u0434%u0440%u0435%u0441%3A%20%27+location.href+%27%5Cn%5Cn%u0420%u0435%u0444%u0435%u0440%u0440%u0435%u0440%3A%20%27+document.referrer+%27%5Cn%5Cn%u0414%u0430%u0442%u0430%20%u043F%u043E%u0441%u043B%u0435%u0434%u043D%u0435%u0433%u043E%20%u0438%u0437%u043C%u0435%u043D%u0435%u043D%u0438%u044F%3A%20%27+lastmod+%27%5Cn%5Cn%u0420%u0435%u0436%u0438%u043C%20%u043E%u0442%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u044F%3A%20%27+mode+%27%20mode%5Cn%27+meta+scripts+embed+iframes+cookies%29%7D%5D%2C%0A%20%20%20%20%5B%22%u0418%u0441%u0445%u043E%u0434%u043D%u044B%u0439%20%u043A%u043E%u0434%20%28snapshot%29%22%2C%20function%28%29%7Bvar%20q%3D%27%20%20%27%2CC%3D%7Bimg%3A1%2Cbr%3A1%2Clink%3A1%2Cinput%3A1%2Chr%3A1%2Cmeta%3A1%7D%2Cu%3Dfalse%2Cv%3D0%2CD%3D1%2Cg%3Dwindow.document%2Cm%3Dwindow.location%2Cw%3D%27resizable%3Dyes%2Cscrollbars%3Dyes%2Clocation%3Dno%27%2Ch%3D%27%3C/span%3E%3C/li%3E%27%3Bvar%20x%3Dfunction%28a%29%7Breturn%27%3Cspan%20class%3D%5C%27tag%5C%27%3E%26lt%3B%27+a+%27%27%7D%3Bvar%20y%3Dfunction%28a%29%7Breturn%28a%3F%27/%27%3A%27%27%29+%27%26gt%3B%3C/span%3E%27%7D%3Bvar%20z%3Dfunction%28a%2Cb%29%7Bif%28b%7C%7CC%5Ba.toLowerCase%28%29%5D%29return%27%27%3Breturn%27%3Cspan%20class%3D%5C%27tag%5C%27%3E%26lt%3B/%27+a+%27%26gt%3B%3C/span%3E%27%7D%3Bvar%20j%3Dfunction%28%29%7Bvar%20a%3Dv.toString%28%29%3Bwhile%28a.length%3C3%29a%3D%270%27+a%3Breturn%27%3Cli%20class%3D%5C%27line%27+%28D%26%26%28%28v++%29%261%29%3F%27%20dark%5C%27%27%3A%27%5C%27%27%29+%27%3E%3Cspan%3E%27%7D%3Bvar%20n%3Dfunction%28a%29%7Breturn%20a.replace%28/%3C/g%2C%27%26lt%3B%27%29.replace%28/%3E/g%2C%27%26gt%3B%27%29%7D%3Bvar%20E%3Dfunction%28a%29%7Bvar%20b%3Da.doctype%2Cc%3D%27%27%3Bif%28b%29%7Bc%3Dj%28%29+x%28%27%21DOCTYPE%27%29+%27%20%3Cspan%20class%3D%5C%27attrDoc%5C%27%3E%27+b.nodeName+%28b.publicId%3F%27%20PUBLIC%20%5C%27%27+b.publicId+%27%5C%27%27%3A%27%27%29+%28b.systemId%3F%27%3C/span%3E%3C/span%3E%27+h+j%28%29+%27%3Cspan%20class%3D%5C%27tag%5C%27%3E%3Cspan%20class%3D%5C%27attrDoc%5C%27%3E%27+q+%27%5C%27%27+b.systemId+%27%5C%27%27%3A%27%27%29+%27%3C/span%3E%27+y%28%29+h%7Dreturn%20c%7D%3Bvar%20F%3Dfunction%28a%29%7Bvar%20b%3Da.attributes%2Cc%3Dnull%2Cd%3D%27%27%3Bfor%28var%20f%3D0%3Bc%3Db%5Bf%5D%3Bf++%29%7Bif%28c.specified%26%26c.value%29%7Bd+%3D%27%20%3Cspan%20class%3D%5C%27attrTitle%5C%27%3E%27+c.name+%27%3C/span%3E%3D%3Cspan%20class%3D%5C%27attrValue%5C%27%3E%5Cx22%27+n%28c.value.replace%28/%5Ct/g%2Cq%29%29+%27%5Cx22%3C/span%3E%20%27%7D%7Dreturn%20d%7D%3Bvar%20r%3Dfunction%28a%29%7Breturn%20n%28a.nodeValue.replace%28/%5B%5Cn%5Ct%5Cr%5Cu00A0%5D+%20*/g%2C%27%27%29.replace%28/%20+/g%2C%27%20%27%29%29%7D%3Bvar%20G%3Dfunction%28a%29%7Bvar%20b%3D0%2Cc%3D%27%27%3Bwhile%28b%3Ca%29%7Bc+%3Dq%3Bb++%7Dreturn%20c%7D%3Bvar%20A%3Dfunction%28a%2Cb%2Cc%29%7Bvar%20d%3D%27%27%2Cf%3DG%28b++%29%3Bswitch%28a.nodeType%29%7Bcase%201%3A%7Bvar%20i%3Da.childNodes%2Ck%3Dnull%3Bvar%20s%3D%28i.length%3D%3D0%29%7C%7C%28i.length%3D%3D1%26%26i%5B0%5D.nodeType%3D%3D3%29%3Bvar%20t%3Du%26%26i.length%3D%3D0%3Bvar%20l%3Dj%28%29+f+x%28a.nodeName%29+F%28a%29+y%28t%29%3Bif%28%21s%29l+%3Dh%3Bfor%28var%20B%3D0%3Bk%3Di%5BB%5D%3BB++%29%7Bl+%3DA%28k%2Cb%2C%21s%26%26k.nodeType%3D%3D3%29%7Dif%28s%29%7Bl+%3D%28a.nodeName.toLowerCase%28%29%3D%3D%27textarea%27%3Fn%28a.value%29%3A%27%27%29+z%28a.nodeName%2Ct%29+h%7Delse%7Bl+%3Dj%28%29+f+z%28a.nodeName%2Ct%29+h%7Dreturn%20l%7Dcase%203%3A%7Bif%28%28d%3Dr%28a%29%29%26%26c%29%7Breturn%20j%28%29+f+d+h%7Delse%7Breturn%20d%7D%7Dcase%204%3A%7Bd%3Dr%28a%29%3Breturn%20j%28%29+f+%27%3Cspan%20class%3D%5C%27cdata%5C%27%3E%26lt%3B%21%5BCDATA%5B%3C/span%3E%27+d+%27%3Cspan%20class%3D%5C%27cdata%5C%27%3E%5D%5D%26gt%3B%3C/span%3E%27+h%7Dcase%208%3A%7Bd%3Dr%28a%29%3Breturn%20j%28%29+f+%27%3Cspan%20class%3D%5C%27comment%5C%27%3E%26lt%3B%21--%27+d+%27--%26gt%3B%3C/span%3E%27+h%7D%7Dreturn%20a.nodeType%7D%3Bvar%20H%3Dfunction%28a%29%7Bvar%20b%2Cc%3D%27%27%3Bif%28a%29%7Bvar%20d%3Da.getSelection%28%29.getRangeAt%280%29%2Cf%3Dd.commonAncestorContainer%3Bif%28f.nodeType%3D%3D3%7C%7Cf.nodeType%3D%3D4%29f%3Df.parentNode%3Bb%3Df.cloneNode%28false%29%3Bb.appendChild%28d.cloneContents%28%29%29%3Bvar%20i%3Dd.startContainer%2Ck%3Dd.endContainer%3Bif%28i%21%3Df.firstChild%7C%7C%28i.nodeType%3D%3D3%26%26d.startOffset%21%3D0%29%29b.insertBefore%28g.createTextNode%28%27%5Cu2026%27%29%2Cb.firstChild%29%3Bif%28k%21%3Df.lastChild%7C%7C%28k.nodeType%3D%3D3%26%26d.endOffset%21%3Dk.nodeValue.length%29%29b.appendChild%28g.createTextNode%28%27%5Cu2026%27%29%29%7Delse%7Bc%3DE%28g%29%3Bb%3Dg.documentElement%7D%3Bc+%3DA%28b%2C0%29%3Breturn%20c%7D%3Bvar%20I%3Dfunction%28a%29%7Bif%28a%26%26a.getSelection%29%7Bif%28a.getSelection%28%29.toString%28%29%29return%20a%3Bfor%28var%20b%3D0%2Cc%2Cd%3Bc%3Da.frames%5Bb%5D%3Bb++%29%7Btry%7Bif%28d%3Darguments.callee%28c%29%29return%20d%7Dcatch%28e%29%7B%7D%7D%7D%7D%3Bvar%20o%3DI%28window%29%3Bif%28o%29%7Bg%3Do.document%3Bm%3Do.location%3Bw+%3D%27%2Cwidth%3D800%2Cheight%3D500%2Cleft%3D100%2Ctop%3D100%27%7D%3Bu%3D/%5Ba-z%5D/.test%28g.documentElement.nodeName%29%3Bvar%20J%3D%27%3C%21DOCTYPE%20html%20PUBLIC%3E%3Chtml%3E%3Chead%3E%3Ctitle%3ESnapshot%3A%20%27+%28%28g.getElementsByTagName%28%27title%27%29.length%26%26n%28g.getElementsByTagName%28%27title%27%29%5B0%5D.text%29%29%7C%7C%28m.protocol+%27//%27+m.host+m.pathname%29%29+%27%3C/title%3E%3Cstyle%20type%3D%5C%27text/css%5C%27%3Ebody%7Bpadding%3A0%205px%3Bmargin%3A0%3Bfont-family%3Asans-serif%3Bfont-size%3A.7em%3Bbackground-color%3A%23FFF%3Bcolor%3A%23000%3B%7D%23content%7Bwhite-space%3Apre-wrap%7Dol%7Bcolor%3A%23999%3B%7Dspan%7Bcolor%3A%23000%7D.tag%7Bcolor%3A%2305F%7D.attrTitle%7Bcolor%3A%23E00%7D.attrValue%7Bcolor%3A%23C0C%7D.attrDoc%7Bcolor%3A%23800080%7D.comment%7Bcolor%3A%23008000%7D.cdata%7Bcolor%3A%2363D%7D.line%7Bmargin%3A0%3Bpadding%3A0%7D.dark%7Bbackground-color%3A%23FAFAFA%7D%3C/style%3E%3C/head%3E%3Cbody%3E%3Col%20id%3D%5C%27content%5C%27%3E%27+H%28o%29+%27%3C/ol%3E%3C/body%3E%3C/html%3E%27%3Bvar%20p%3Dwindow.open%28%27about%3Ablank%27%2C%27_blank%27%2Cw%29%3Bp.document.write%28J%29%3Bp.document.onkeydown%3Dfunction%28a%29%7Bif%28a.keyCode%3D%3D27%29p.close%28%29%7D%3Bp.document.close%28%29%7D%5D%2C%0A%20%20%20%20%2C%0A%20%20%20%20%5B%22%u0428%u0430%u0445%u043C%u0430%u0442%u044B%22%2C%20function%28%29%7Bwindow.open%28%27data%3Atext/html%3Bbase64%2CPGh0bWw+PGhlYWQ+PHRpdGxlPkNoZXNzPC90aXRsZT48bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9Ik9zY2FyIFRvbGVkbyBHLiI+PG1ldGEgbmFtZT0ic2l0ZSIgY29udGVudD0iaHR0cDovL25hbm9jaGVzcy4xMTBtYi5jb20vY2hlc3M0Lmh0bWwiPjwvaGVhZD48Ym9keT48c2NyaXB0PnZhciBCLGkseSx1LGIsST1bXSxHPTEyMCx4PTEwLHo9MTUsTT0xZTQsbD1bNSwzLDQsNiwyLDQsMyw1LDEsMSwxLDEsMSwxLDEsMSw5LDksOSw5LDksOSw5LDksMTMsMTEsMTIsMTQsMTAsMTIsMTEsMTMsMCw5OSwwLDMwNiwyOTcsNDk1LDg0NiwtMSwwLDEsMiwyLDEsMCwtMSwtMSwxLC0xMCwxMCwtMTEsLTksOSwxMSwxMCwyMCwtOSwtMTEsLTEwLC0yMCwtMjEsLTE5LC0xMiwtOCw4LDEyLDE5LDIxXTtmdW5jdGlvbiBYKHcsYyxoLGUsUyxzKXt2YXIgdCxvLEwsRSxkLE89ZSxOPS1NKk0sSz03OC1oPDx4LHAsZyxuLG0sQSxxLHIsQyxKLGE9eT8teDp4O3lePTg7RysrO2Q9d3x8cyYmcz49aCYmWCgwLDAsMCwyMSwwLDApPk07ZG97aWYobz1JW3A9T10pe3E9byZ6Xnk7aWYocTw3KXtBPXEtLSYyPzg6NDtDPW8tOSZ6P1s1Myw0Nyw2MSw1MSw0Nyw0N11bcV06NTc7ZG97cj1JW3ArPWxbQ11dO2lmKCF3fHA9PXcpe2c9cXxwK2EtUz8wOlM7aWYoIXImKCEhcXxBPDN8fCEhZyl8fChyKzEmel55KT45JiZxfEE+Mil7aWYobT0hKHItMiY3KSlyZXR1cm4geV49OCxJW0ctLV09TyxLO0o9bj1vJno7RT1JW3AtYV0mejt0PXF8RS03P246KG4rPTIsNl55KTt3aGlsZShuPD10KXtMPXI/bFtyJjd8MzJdLWgtcTowO2lmKHMpTCs9KDEtcT9sWyhwLXAleCkveCszN10tbFsoTy1PJXgpL3grMzddK2xbcCV4KzM4XSoocT8xOjIpLWxbTyV4KzM4XSsobyYxNikvMjohIW0qOSkrKCFxPyEoSVtwLTFdXm4pKyEoSVtwKzFdXm4pK2xbbiY3fDMyXS05OSshIWcqOTkrKEE8Mik6MCkrIShFXnleOSk7aWYocz5ofHwxPHMmcz09aCYmTD56fGQpe0lbcF09bixJW09dPW0/KElbZ109SVttXSxJW21dPTApOmc/SVtnXT0wOjA7TC09WChzPmh8ZD8wOnAsTC1OLGgrMSxJW0crMV0sSj1xfEE+MT8wOnAscyk7aWYoIShofHxzLTF8Qi1PfGktbnxwLWJ8TDwtTSkpcmV0dXJuIFcoKSxHLS0sdT1KO0o9cS0xfEE8N3x8bXx8IXN8ZHxyfG88enx8WCgwLDAsMCwyMSwwLDApPk07SVtPXT1vO0lbcF09cjttPyhJW21dPUlbZ10sSVtnXT0wKTpnP0lbZ109OV55OjB9aWYoTD5OfHxzPjEmJkw9PU4mJiFoJiZNYXRoLnJhbmRvbSgpPC41KXtJW0ddPU87aWYocz4xKXtpZihoJiZjLUw8MClyZXR1cm4geV49OCxHLS0sTDtpZighaClpPW4sQj1PLGI9cH1OPUx9bis9Snx8KGc9cCxtPXA8Tz9nLTM6ZysyLElbbV08enxJW20rTy1wXXx8SVtwKz1wLU9dKT8xOjB9fX19d2hpbGUoIXImcT4yfHwocD1PLHF8QT4yfG8+eiYhciYmKytDKi0tQSkpfX19d2hpbGUoKytPPjk4P089MjA6ZS1PKTtyZXR1cm4geV49OCxHLS0sTitNKk0mJk4+LUsrMTkyNHxkP046MH1CPWk9eT11PTA7d2hpbGUoQisrPDEyMClJW0ItMV09QiV4P0IveCV4PDJ8QiV4PDI/NzpCL3gmND8wOmxbaSsrXXwxNjo3O2ZvcihhPSI8dGFibGUgY2VsbHNwYWNpbmc9MCBhbGlnbj1jZW50ZXIgYm9yZGVyPTA+IixCPTA7Qjw4O0IrKylmb3IoYSs9Ijx0cj4iLGk9MjE7aTwyOTtpKyspYSs9Ijx0ZCB3aWR0aD02MCBoZWlnaHQ9NjAgb25jbGljaz1ZKCIrKEIqeCtpKSsiKSBpZD1vIisoQip4K2kpKyIgc3R5bGU9J2xpbmUtaGVpZ2h0OjUwcHg7Zm9udC1zaXplOjUwcHg7Ym9yZGVyOjJweCBzb2xpZCAiKyIjZTBlMGYwJyBiZ2NvbG9yPSMiKyhpK0ImMT8iZjBmIjoiYzBjIikrIjBmMCBhbGlnbj1jZW50ZXI+IjthKz0iPHRyPjx0ZCBjb2xzcGFuPTggYWxpZ249Y2VudGVyPjxzZWxlY3QgaWQ9dCBzdHlsZT0nZm9udC1zaXplOjIwcHgnPjxvcHRpb24+JiM5ODE5OzxvcHRpb24+Ijtkb2N1bWVudC53cml0ZShhKyImIzk4MjA7PG9wdGlvbj4mIzk4MjE7PG9wdGlvbj4mIzk4MjI7PC9zZWxlY3Q+PC90YWJsZT4iKTtmdW5jdGlvbiBXKCl7Qj1iO2ZvcihwPTIxO3A8OTk7cCs9cCV4LTg/MTozKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibyIrcCkuaW5uZXJIVE1MPSJceGEwXHUyNjVmXHUyNjVhXHUyNjVlXHUyNjVkXHUyNjVjXHUyNjViICBcdTI2NTlcdTI2NTRcdTI2NThcdTI2NTdcdTI2NTZcdTI2NTUiLmNoYXJBdChJW3BdJnopO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvIitwKS5zdHlsZS5ib3JkZXJDb2xvcj1wPT1CPyJyZWQiOiIjZTBlMGYwIn19VygpO2Z1bmN0aW9uIFkocyl7aT0oSVtzXV55KSZ6O2lmKGk+OCl7Yj1zO1coKX1lbHNlIGlmKEImJmk8OSl7Yj1zO2k9SVtCXSZ6O2lmKChpJjcpPT0xJihiPDI5fGI+OTApKWk9MTQtZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInQiKS5zZWxlY3RlZEluZGV4Xnk7WCgwLDAsMCwyMSx1LDEpO2lmKHkpd2luZG93LnNldFRpbWVvdXQoIlgoMCwwLDAsMjEsdSwyLypwbHkqLyksWCgwLDAsMCwyMSx1LDEpIiwyNTApfX08L3NjcmlwdD48L2JvZHk+PC9odG1sPgo%3D%27%2C%27_blank%27%2C%27width%3D600%2Cheight%3D550%2Cleft%3D200%2Ctop%3D100%27%29%7D%5D%2C%0A%20%20%20%20%5B%22All%20in%20One%20Bookmark%20Manager%22%2C%20function%28%29%7B%20var%20rspW%3D620%2C%20rspH%3D420%2C%20rspL%3DparseInt%28%28screen.width/2%29-%28rspW/2%29%29%2C%20rspT%3DparseInt%28%28screen.height/2%29-%28rspH/2%29%29%3B%20window.open%28%22http%3A//raindrop.io/frame%3Furl%3D%22+encodeURIComponent%28window.location.href%29+%22%26title%3D%22+encodeURIComponent%28document.title%29%2C%22raindrop-save%22%2C%22width%3D%22+rspW+%22%2Cheight%3D%22+rspH+%22%2Cresizable%3Dyes%2Cscrollbars%3Dyes%2Cstatus%3Dfalse%2Clocation%3Dfalse%2Ctoolbar%3Dfalse%2Cleft%3D%22+rspL+%22%2Ctop%3D%22+rspT%29%20%7D%5D%0A%5D%3B%0Avar%20contextMenu%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%3B%0Avar%20nextEleMenu%20%3D%20contextMenu.children%5B%27context-inspect%27%5D%3B%0A%0Avar%20menuId%20%3D%20%22context-ext-addon%22%3B%0Avar%20menuItem%2C%20menuPopup%2C%20menu%20%3D%20document.getElementById%28menuId%29%3B%0Aif%20%28menu%29%20%7B%0A%20%20%20%20contextMenu.removeChild%28menu%29%3B%0A%7D%3B%0AmenuPopup%20%3D%20document.createElement%28%22menupopup%22%29%3B%0Amenu%20%3D%20document.createElement%28%22menu%22%29%3B%0Amenu.setAttribute%28%22id%22%2C%20menuId%29%3B%0Amenu.setAttribute%28%22label%22%2C%20%22%u0414%u043E%u043F%u043E%u043B%u043D%u0438%u0442%u0435%u043B%u044C%u043D%u043E%22%29%3B%0A%0Afor%20%28var%20i%20%3D%200%3B%20i%20%3C%20itemsArr.length%3B%20i++%29%20%7B%0A%20%20%20%20if%20%28itemsArr%5Bi%5D%29%20%7B%0A%20%20%20%20%20%20%20%20menuItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20%20%20%20%20%20menuItem.setAttribute%28%22label%22%2C%20itemsArr%5Bi%5D%5B0%5D%29%3B%0A%20%20%20%20%20%20%20%20menuItem.addEventListener%28%22command%22%2C%20%28function%28f%29%7Breturn%20function%28%29%7Bcontent.location.href%20%3D%20%22javascript%3A%28%22%20+%20encodeURI%28f%29%20+%20%22%29%28%29%22%7D%7D%29%28itemsArr%5Bi%5D%5B1%5D.toString%28%29%29%2C%20false%29%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20menuItem%20%3D%20document.createElement%28%22menuseparator%22%29%3B%0A%20%20%20%20%7D%3B%0A%20%20%20%20menuPopup.appendChild%28menuItem%29%3B%0A%7D%3B%0Amenu.appendChild%28menuPopup%29%3B%0AcontextMenu.insertBefore%28menu%2C%20nextEleMenu%29%3B%0A%0AaddDestructor%28function%28%29%7BcontextMenu.removeChild%28menu%29%7D%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отсутствует
lokiju
я так и делал, раскодировал и вставлял, и пытался по разнову вставлять, теперь сравнив с вашим готовым, я понял что просто не поставил запятую и скобку в конце кода. Спасибо.
Добавлено 27-01-2017 01:30:19
lokiju
А вы бы не могли еще пожалуйста подсказать как убрать подменю, т.е. что бы пункты сразу были в контекстном меню, а не в выпадающем списке.
//RAINDROP в контекстном меню ..................... var itemsArr = [ ["RAIN", function(){ var rspW=620, rspH=420, rspL=parseInt((screen.width/2)-(rspW/2)), rspT=parseInt((screen.height/2)-(rspH/2)); window.open("http://raindrop.io/frame?url="+encodeURIComponent(window.location.href)+"&title="+encodeURIComponent(document.title),"raindrop-save","width="+rspW+",height="+rspH+",resizable=yes,scrollbars=yes,status=false,location=false,toolbar=false,left="+rspL+",top="+rspT) }] ]; var contextMenu = document.getElementById("contentAreaContextMenu"); var nextEleMenu = contextMenu.children['context-inspect']; var menuId = "context-ext-addon"; var menuItem, menuPopup, menu = document.getElementById(menuId); if (menu) { contextMenu.removeChild(menu); }; menuPopup = document.createElement("menupopup"); menu = document.createElement("menu"); menu.setAttribute("id", menuId); menu.setAttribute("label", "Дополнительно"); for (var i = 0; i < itemsArr.length; i++) { if (itemsArr[i]) { menuItem = document.createElement("menuitem"); menuItem.setAttribute("label", itemsArr[i][0]); menuItem.addEventListener("command", (function(f){return function(){content.location.href = "javascript:(" + encodeURI(f) + ")()"}})(itemsArr[i][1].toString()), false); } else { menuItem = document.createElement("menuseparator"); }; menuPopup.appendChild(menuItem); }; menu.appendChild(menuPopup); contextMenu.insertBefore(menu, nextEleMenu); addDestructor(function(){contextMenu.removeChild(menu)});
Отредактировано Stakhovsky (27-01-2017 03:01:21)
Отсутствует
В FF51 перестала работать кнопка URL Corrector, которая меняет раскладку уже набранного текста. Что нужно поправить? Очень нужная кнопочка была
this.noSelUseFullText = true; this.convTableForward = { "\"": "@", ":": "^", ";": "$", "?": "&", ",": "?", "/": "|", ".": "/", "э": "'", "б": ",", "ю": ".", "Ж": ":", "ж": ";", "Б": "<", "Ю": ">", "Э": "\"", "х": "[", "ъ": "]", "ё": "`", "Х": "{", "Ъ": "}", "Ё": "~", "№": "#", "Ф": "A", "ф": "a", "И": "B", "и": "b", "С": "C", "с": "c", "В": "D", "в": "d", "У": "E", "у": "e", "А": "F", "а": "f", "П": "G", "п": "g", "Р": "H", "р": "h", "Ш": "I", "ш": "i", "О": "J", "о": "j", "Л": "K", "л": "k", "Д": "L", "д": "l", "Ь": "M", "ь": "m", "Т": "N", "т": "n", "Щ": "O", "щ": "o", "З": "P", "з": "p", "Й": "Q", "й": "q", "К": "R", "к": "r", "Ы": "S", "ы": "s", "Е": "T", "е": "t", "Г": "U", "г": "u", "М": "V", "м": "v", "Ц": "W", "ц": "w", "Ч": "X", "ч": "x", "Н": "Y", "н": "y", "Я": "Z", "я": "z", __proto__: null }; this.convTableBackward = { __proto__: null }; for(var c in this.convTableForward) this.convTableBackward[this.convTableForward[c]] = c; this.insertText = function(ta, text, noFocus) { var editor = ta.QueryInterface(Components.interfaces.nsIDOMNSEditableElement) .editor .QueryInterface(Components.interfaces.nsIPlaintextEditor); if(editor.flags & editor.eEditorReadonlyMask) return; var sTop = ta.scrollTop; var sHeight = ta.scrollHeight; var sLeft = ta.scrollLeft; // var sWidth = ta.scrollWidth; if(noFocus) { var val = ta.value; var ss = ta.selectionStart; ta.value = val.substring(0, ss) + text + val.substring(ta.selectionEnd); var se = ss + text.length; ta.selectionStart = se; ta.selectionEnd = se; } else { if(text) editor.insertText(text); else editor.deleteSelection(0); } ta.scrollTop = sTop + (ta.scrollHeight - sHeight); ta.scrollLeft = sLeft; // + (ta.scrollWidth - sWidth); }; this.inPrimaryLayout = function(s) { var c; for(var i = 0, l = s.length; i < l; i++) { c = s.charAt(i); if(c in this.convTableForward) return true; if(c in this.convTableBackward) return false; } return false; }; this.switchKeybLayout = function(convTable, s) { var r = "", c; for(var i = 0, l = s.length; i < l; i++) { c = s.charAt(i); r += c in convTable ? convTable[c] : c; } return r; }; this.switchSelKeybLayout = function(s) { try { var ta = document.commandDispatcher.focusedElement; var val = ta.value; var sel = val.substring(ta.selectionStart, ta.selectionEnd); } catch(e) { return; } if(this.noSelUseFullText && !sel) { ta.selectionStart = 0; ta.selectionEnd = val.length; sel = val; } if(!sel) return; sel = this.switchKeybLayout( this.inPrimaryLayout(sel) ? this.convTableForward : this.convTableBackward, sel ); this.insertText(ta, sel); };
var Msg = createMsg(this.label); var de = createDebug(this); this.leftclick = function(evt){ this.doLeft( evt ); } this.midclick = function(evt){ this.doMid( evt ); } this.rightclick = function(evt){ this.doRight( evt ); } this.setAttribute( 'onclick', 'custombuttons.gQuot.mHandler( event, this )' ); this.intro = { theBox: {}, startPos: 0, endPos: 0, oPosition: 0, oHeight: 0, text: '', nHeight: 0, Highlight: '', eBlock: '', cBoard: '', n: '', nLen: 0, arr: [], initMeth: function( oBtn ){ with( this ) { theBox = document.commandDispatcher.focusedElement; if ( theBox ) { startPos = theBox.selectionStart; endPos = theBox.selectionEnd; oPosition = theBox.scrollTop; oHeight = theBox.scrollHeight; text = theBox.value.substring(0,startPos); nHeight = theBox.scrollHeight - oHeight; Highlight = theBox.value.substring(startPos, endPos); eBlock = theBox.value.substring(endPos, theBox.value.length); n = ''; return true; } } return false; } }; this.doLeft = function( e ) { if ( !this.intro.initMeth( this ) ) { return; } var x = this.intro; with(x){ text += Highlight.toUpperCase(); nLen = text.length; text += eBlock; theBox.value = text; theBox.selectionStart = theBox.selectionEnd = nLen ; theBox.scrollTop = oPosition + nHeight; } }; this.doMid = function( e ) { if ( !this.intro.initMeth( this ) ) { return; } var x = this.intro; with(x){ text += Highlight.substr( 0, 1 ).toUpperCase(); text += Highlight.substr( 1 ).toLowerCase(); nLen = text.length; text += eBlock; theBox.value = text; theBox.selectionStart = theBox.selectionEnd = nLen ; theBox.scrollTop = oPosition + nHeight; } }; this.doRight = function( e ) { if ( !this.intro.initMeth( this ) ) { return; } var x = this.intro; with(x){ text += Highlight.toLowerCase(); nLen = text.length; text += eBlock; theBox.value = text; theBox.selectionStart = theBox.selectionEnd = nLen ; theBox.scrollTop = oPosition + nHeight; } }; this.setAttribute('onmouseover', 'custombuttons.ButtonBrt(event);' ); this.setAttribute('onmouseout', 'custombuttons.ButtonDim(event);' ); this.tooltipText = "Заменить буквы в выделенном на\n ЛКМ = ЗАГЛАВНЫЕ \n СКМ = Первая буква заглавная \n ПКМ = строчные ";
Отсутствует
tchackВыделить кодКод:QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).sendNativeKeyEvent(
0x00000409, // (US) aNativeKeyboardLayout HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\
0x50, // (P key) aNativeKeyCode https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx
0x1400, // (CTRL_L + ALT_L) aModifierFlags nsIWidget.h > Modifiers
"p", // aCharacters
null // aUnmodifiedCharacters nsIWidget.h > «... ignored on Windows.»
// aObserver [optional]
);
Отредактировано yup (Вчера 20:49:50)
Блин, у меня CTRL+ALT+P в Opera 12 вставляет пароль из Keepass, а тут почему-то не срабатывает. Может что-то не хватает??
Отредактировано tchack (27-01-2017 10:38:05)
Отсутствует
Блин, у меня CTRL+ALT+P в Opera 12 вставляет пароль из Keepass, а тут почему-то не срабатывает. Может что-то не хватает??
А с клавиатуры эта комбинация работает?
Может, просто конфликт назначений? А то ведь, например, и Private Tab CTRL+ALT+P под себя гребёт.
(Создал на пробу кнопку с обсуждаемым кодом. При её нажатии именно Private Tab срабатывает.)
И второй вопрос: текст этот в кнопке куда вставили - в инициализацию или в код?
Ну и, наконец: KeePass - это же автономное приложение. Клавиатурное событие, программно созданное внутри Firefox, до него никак не доберётся. Для этого в Firefox ещё спец. дополнение установлено должно быть. Оно наличествует?
Отредактировано yup (27-01-2017 11:25:11)
Отсутствует
Здравствуйте ранньше на форуме были кнопки
закрыть вкладки слева, закрыть все вкладки,закрыть вкладки справа
сейчас не могу найти, подскажите где искать.
Отредактировано bucefal82 (27-01-2017 13:41:39)
Отсутствует
ещё актуально
/*CODE*/var win = Services.wm.getMostRecentWindow("Browser:Cookies"); win && win.close(); var win = openDialog ("chrome://browser/content/preferences/cookies.xul", "_blank", "resizable,dialog=yes,centerscreen", null); win.addEventListener("load", function s(e) { win.removeEventListener("load", s, false); var host = content.location.host, arr = host.split('.'); if ( arr.length > 2 ) host = arr[1] + "." + arr[2]; var filter = win.document.getElementById("filter"); filter.value = host; setTimeout(function() filter.doCommand(), 0); }, false);
в код
Отсутствует
intersk пишетнужна кнопка удаляющая куки для текущего сайта
ещё актуально
Отсутствует
Здравствуйте ранньше на форуме были кнопки
http://i12.pixs.ru/storage/3/6/0/201701 … 931360.png
закрыть вкладки слева, закрыть все вкладки,закрыть вкладки справа
сейчас не могу найти, подскажите где искать.
Автор удалил эти кнопки, но вот нужные коды.
Закрыть вкладки слева:
gBrowser.visibleTabs.forEach((tab)=> !tab.pinned && tab._tPos < gBrowser.mCurrentTab._tPos && gBrowser.removeTab(tab))
Закрыть все вкладки:
Закрыть вкладки справа:
Отсутствует
В FF51 перестала работать кнопка URL Corrector, которая меняет раскладку уже набранного текста. Что нужно поправить? Очень нужная кнопочка была
Так же больше не работает кнопочка Case Change, меняющая прописные на заглавные буквы и наоборот в разных сочетаниях
Отсутствует
Помогите пожалуйста, можно ли эту функцию
function(){ var rspW=620, rspH=420, rspL=parseInt((screen.width/2)-(rspW/2)), rspT=parseInt((screen.height/2)-(rspH/2)); window.open("http://raindrop.io/frame?url="+encodeURIComponent(window.location.href)+"&title="+encodeURIComponent(document.title),"raindrop-save","width="+rspW+",height="+rspH+",resizable=yes,scrollbars=yes,status=false,location=false,toolbar=false,left="+rspL+",top="+rspT) }
Вставить в этот код вместо открытия этого вот url
url: "http://www.inoreader.com/"
((contextMenu) => { var array = [ { lab: "Inoreader", url: "http://www.inoreader.com/", img: "https://www.inoreader.com/favicon.ico"}, ] array.forEach(function(m,i) { var mItem = document.createElement("menuitem"); mItem.setAttribute("label", m.lab ); mItem.setAttribute("id", "link"+i ); mItem.setAttribute("url", m.url ); mItem.setAttribute("class", "menuitem-iconic"); mItem.setAttribute("image", m.img ); mItem.addEventListener("click", openLink ); contextMenu.appendChild( mItem ); }); function openLink(e) { var url = e.target.getAttribute("url"); if (url == "about:newtab") { BrowserOpenTab(); return; }; e.button ? gBrowser.selectedTab = gBrowser.addTab(url) : loadURI(url); }; addDestructor(()=> array.forEach(function(m,i) contextMenu.removeChild(document.getElementById('link'+i)) )); })(document.getElementById("contentAreaContextMenu") );
Отредактировано Stakhovsky (28-01-2017 01:04:45)
Отсутствует
Помогите пожалуйста, можно ли эту функцию
((contextMenu) => { var mItem = document.createElement("menuitem"); mItem.setAttribute("label", "Inoreader"); mItem.setAttribute("id", "context-inoreader"); mItem.setAttribute("class", "menuitem-iconic"); mItem.setAttribute("image", "https://www.inoreader.com/favicon.ico"); contextMenu.appendChild(mItem); addDestructor(()=> mItem.remove() ); mItem.onclick =()=> { var rspW=620, rspH=420, rspL=parseInt((screen.width/2)-(rspW/2)), rspT=parseInt((screen.height/2)-(rspH/2)); window.open("http://raindrop.io/frame?url="+encodeURIComponent(window.location.href)+"&title="+encodeURIComponent(document.title),"raindrop-save","width="+rspW+",height="+rspH+",resizable=yes,scrollbars=yes,status=false,location=false,toolbar=false,left="+rspL+",top="+rspT) }; })(document.getElementById("contentAreaContextMenu") );
Отсутствует