Можно ли подправить кнопочку Save All-in-One (Firefox) UnMHT,Flashgot, чтобы она работала в Firefox 16.0.1

описание: при правом клике появляется меню выбора как сохранять
варианты
Quick save as mht - просто сохраняет в папку сохранения не выводя никаких диалогов
Save as mht - сохраняет как mht используя диалог сохранения
Save all tabs as mht - сохраняет все вкладки как mht
save as html complete - стандартный диалог сохранения странички
save with flashgot - закачать всё(или выделенное) при помощи флэшгот
save favicon  - сохраняет иконку сайта
использование - пкм- выбрали нужный тип, дальше только лкм.

скрытый текст
код кнопки

Выделить код

Код:

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%0D%0A%20%20%3Cname%3EAll%20Save%20in%20one%3C/name%3E%0D%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICP///////9DIyGBQUNjQ0JiAgLigoMCkpBAAAHRIRLAwIJhwaGhEPIw8LKwsEJBwaGBAOIRUSJBQQJw8JJBYSMCIeLgwCLAsBJB4cKCIgGBIQJBgUKBILLhIJKw4EKgoAJh4bJA8HJBYQNCMcKBQMJhMLLBQKIg4GOxUFLhQIKiYkIBgUBAIBNBYGKg4AOhQAPBQAMSMbNCYeJxMHNhcFLBMEOBgFPBkFPhwJP9gAP94KLywqIxMJLhQEPB4KPBwILhIAOBYAPBgALBIANhYAP9oAKiUhIRgRNRoFPB0EOhoAP9wAP94ENhoBOBoAP94AP94CMSYcNjQyPSEEPB4AP+AAPCEBP+IAP+QAPScIPSUEJyUiPCUBP+YAPSkEP+oAPCkBMDAsNjYzLy8pPDw5BAUBLi8sNDYxMjQwNjkzDBAKFiMPFCIOJzAkChAIFScPAgUBChIIFSMSFigSBA4CBBMBNDozCyYHAgkBBBgBFCcSCzQHAg8BHC8bBSMDBSoDAhMBBTEDBTgDAhcBAiEBAiUBAikBDA4MNjg2MjYyNDg0Njo2MjgyGi4aIjIiMjoyHDIcAgwCAi8BAjMBAjcBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACoAACwAAC4AADIAADQAADYAADoAGjIbIy8kAS8FATMFATgFAAwBASUFASoFASEFCxIMAzQLIzImAyYLJSonBy0WJTAqNTw7Ozw9JhQoJw8oKBMoP/o/5g8lEgkRJxMlLx0tGAwWFAgSKA4kGhAYIRAdMh0tDAQKCAAGGxQZHBEZGgwWMBoqJA4eNB4uDAEJDgAKMRcpNBwtKhgkLBomLhwoFAgQMhoqHAoWMREnDgIKGgoUFAoQJBIdLBgkDgQKHhIZLBokMB4oMx0pGxcZJyEkLyksCAQGGAwSIhAZMRglEgYMCAIFCAAEHAsTFAcNCgEFIhYbHhYZHhgaEwoNDQIFNjIzGRETCgQFCwAAAAAEAAQAAAI9gBHrUqUh4DBgwcdGQogMJEkhBAdHToUaGDBKh4yarxQYoOlhg9r9AhCckeRGSzsWEI08CEMJ06ePHHCgwSjUx9bjihyRYpPJyfKLMJpS6eLIVi0aLkiQwMZnKBWlWI0rB2RLVuwHKFyYFEpS55knQLEIYYWMFuAtMgVaVKtVYZWWbKE4IoYMEfcIEJUKhGqS3FXtTIQRYuRDm1u0bnjKdQlT5YED0rRQREyZdSomROgCe6qS61C6XM2J1o1den8BaD0OBZoPs6eBZCmjlu5ZC/2rJqDypIsQ+asBUDWbJu2cQE6C7sD6g+ma89e2PtG/V4AAYYCAgA7%5D%5D%3E%3C/image%3E%0D%0A%20%20%3Cmode%3E0%3C/mode%3E%0D%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B%0A//%20set%20selected%20icon%0A%20var%20defico%20%3D%20gPrefService.getIntPref%28%22custombuttons.menutest.index%22%29%3B%0Aif%20%28defico%3D%3D0%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhDwAPAPcAAAAAAAAAAP///////wgEBBAEBBgAABgIBPToyCgoGPj48PT05BQUCODoyGyUDGyUKGywGGzMDGyUTGzMKEyUGGzoGBQsCEywGEzMDGywTChkEGzMTAgUBEzoGEzMKCyUDGzoTBRYCCzcDCywGAgsBBRwCBSUDBSwDAhUBCyUKBTQDBToDAhgBAhsBAh4BAiMBAicBAisBEyUTEywTEzMTCzcKEzoTAi4BAjMBAjYBAjkBAjwBAAIAAAQAAAYAAAoAAAwAABQAABYAABgAABoAABwAAB4AACIAACYAACgAACoAACwAAC4AADIAADQAADYAADgAADoAADwAACQBACwCAC4CADICADQCADYCADgCADoCADwCAToFAB4CACICACYCACgCACoCASwFATQFABYCABgCABoCABwCARsEAR4EASMFAScFABQCAzcKARgEAxwHARUECzoTAywKAAwCCzQTAxYHAyUKAAoCCywTCyUTAQsEAzoTAzQTAAYCAywTAyUTAwsHAAQCAQUEPD09AAICODo7AwMHAQEEAAACPDc9JhQoJhYnJxgnJhQmP/Y///g/6BUnJgkkEwESEgAQJgoiKAokKAgkCQEIKhYnGwgYJgghMx0vNyEzEgIPFgASGw0YJgogEwQQGggWNhwwKAkhGwUWFgQSOiA0HgQYEgAOBQEEHgYYPjY8FgIRCAAGKBYjGgwWFAEPFgAQMh4sIAwaNiIwNh4vNhwuOiIzOiAyHgwYMhwrGggUNiAvIQkZPjg8FgQQDAAILRYlHAgVKhokHg4YHggWHgUVMh4qIAwYNB0rNiIuOCEvDAIICgAGGg4VHhAYGgwUIgwZIwMWNh0rJQoZOiEvHA0VGxEWKhwjHhIYKhoiLh4mPjw9CAIFCAAELBsjLhskHg0VKwMWKx4jIwoUMwMWCgAEKwoWCgIFDAEFPTc5BgACLh4jHhEVMwoWOgYWIwMMKwMMOgMPCgUGMwMMPAEMPAAKOQEKPAIJPAAIIwoMOgUKKwoMMwoMOgoMCwAAAAADwAPAAAIrwBf5IAxoKDBgywIvMg3pWC+AQ8j5sv3YqFEiBghxsixcEq+bhEV5FMAMQmOhQQhipzo0CRKhxBBtsThIh9BkRgfasSBgqOjn0AdsXL06AVPHTeS3FhqZanTGzlY5MixIwaKqyyysnABI+rUHTy8ESAQCRWlZmNz9KQKxJQPH6e4LdNGwIdXtpIIHBrFDdm1ujl44KBKotXYUcRm/eWQQxGQFiQIGD6g6xMtdWNZBAQAOw%3D%3D%22%3B%7D%0Aelse%20%7Bif%20%28defico%3D%3D1%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAMQUAP8AAAD/AACZADPMM///zP///5nMmQAAAADMAABmAP/MzP/M/zNmADMAAJlmmWYzZgAzAMxmmZlmZmYzM////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAHoAxQALAAAAAAQABAAAAVlIECNYkkB6HiWpniqb/vOpMq6bl2bNC33sKBQFQioBANCYVkwHChG6AipZBoE0iyV2UTAolurdxSlJAaKhXphGJfNCEEiwUgI3LBEvHFwPA5jQRBxBwcREoBkMA4QEA0NDxMHCSEAOw%3D%3D%22%3B%7D%0Aelse%20%7Bif%20%28defico%3D%3D2%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQALMNAP8AAP8AMwCZAMz/zP///2aZZgAAAADMAGbMZgBmADPMMwAzADMzM////wAAAAAAACH5BAHoAw0ALAAAAAAQABAAAARTsMlJ6wS34Q2w7NqmfZRokhnZeR46imP6xu0U2LjV3LvEVwLBIEAgBgYFA/AwDDiJiMPySY0ChVSolJJgFp0EgpV7UJgDZsVhO+keEosFg7HoSiIAOw%3D%3D%22%3B%7D%0Aelse%20%7Bif%20%28defico%3D%3D3%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICNjY2P///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjczBAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBNjg2MjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFCwAAAAAEAAQAAAI4ACxgLGxo4DBgwd1yICHJYENEQkiSkxgUEeCNzQSaIEYqkCCjhE9JlDSkCBFjwYpJogwMqNECB5hnhySwEuNBDV2nNxZceQbhxBTpoRJ08sMjRoSkAqllCkpUjdGulFiZs+Pq1h/APohxAYYGUuUJEGipYZZs1q02DCzRAaYJUy0HFlxhwgGHhk6vJjRVgkYJi+ufWpSaxUyZK7gPQHz4i2TGb1ccZhVjBwzdfDutAXzdwa7YPDOcSMHDh08EmAEnHkrAxvoV8OSJYumGMymQjNWNGFF79O8atXK0YPXJE9AADs%3D%22%3B%7D%0Aelse%20%7Bif%20%28defico%3D%3D4%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICP///////9DIyGBQUNjQ0JiAgLigoMCkpBAAAHRIRLAwIJhwaGhEPIw8LKwsEJBwaGBAOIRUSJBQQJw8JJBYSMCIeLgwCLAsBJB4cKCIgGBIQJBgUKBILLhIJKw4EKgoAJh4bJA8HJBYQNCMcKBQMJhMLLBQKIg4GOxUFLhQIKiYkIBgUBAIBNBYGKg4AOhQAPBQAMSMbNCYeJxMHNhcFLBMEOBgFPBkFPhwJP9gAP94KLywqIxMJLhQEPB4KPBwILhIAOBYAPBgALBIANhYAP9oAKiUhIRgRNRoFPB0EOhoAP9wAP94ENhoBOBoAP94AP94CMSYcNjQyPSEEPB4AP+AAPCEBP+IAP+QAPScIPSUEJyUiPCUBP+YAPSkEP+oAPCkBMDAsNjYzLy8pPDw5BAUBLi8sNDYxMjQwNjkzDBAKFiMPFCIOJzAkChAIFScPAgUBChIIFSMSFigSBA4CBBMBNDozCyYHAgkBBBgBFCcSCzQHAg8BHC8bBSMDBSoDAhMBBTEDBTgDAhcBAiEBAiUBAikBDA4MNjg2MjYyNDg0Njo2MjgyGi4aIjIiMjoyHDIcAgwCAi8BAjMBAjcBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACoAACwAAC4AADIAADQAADYAADoAGjIbIy8kAS8FATMFATgFAAwBASUFASoFASEFCxIMAzQLIzImAyYLJSonBy0WJTAqNTw7Ozw9JhQoJw8oKBMoP/o/5g8lEgkRJxMlLx0tGAwWFAgSKA4kGhAYIRAdMh0tDAQKCAAGGxQZHBEZGgwWMBoqJA4eNB4uDAEJDgAKMRcpNBwtKhgkLBomLhwoFAgQMhoqHAoWMREnDgIKGgoUFAoQJBIdLBgkDgQKHhIZLBokMB4oMx0pGxcZJyEkLyksCAQGGAwSIhAZMRglEgYMCAIFCAAEHAsTFAcNCgEFIhYbHhYZHhgaEwoNDQIFNjIzGRETCgQFCwAAAAAEAAQAAAI9gBHrUqUh4DBgwcdGQogMJEkhBAdHToUaGDBKh4yarxQYoOlhg9r9AhCckeRGSzsWEI08CEMJ06ePHHCgwSjUx9bjihyRYpPJyfKLMJpS6eLIVi0aLkiQwMZnKBWlWI0rB2RLVuwHKFyYFEpS55knQLEIYYWMFuAtMgVaVKtVYZWWbKE4IoYMEfcIEJUKhGqS3FXtTIQRYuRDm1u0bnjKdQlT5YED0rRQREyZdSomROgCe6qS61C6XM2J1o1den8BaD0OBZoPs6eBZCmjlu5ZC/2rJqDypIsQ+asBUDWbJu2cQE6C7sD6g+ma89e2PtG/V4AAYYCAgA7%22%3B%7D%20%0Aelse%20%7Bif%20%28defico%3D%3D5%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICP///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjc0BAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBMjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMJA4gGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFPgACCwAAAAAEAAQAAAI1gCtIECQg4DBgwdxxHgnEEEIAgMRHIw4oyISLCEGfhoIEcFGBEhoDMwh8eCDkjhANiRJ4MFEg0EQcJkxMCNCiDBB0iTIsafEgVxkDMwgKqKoT0UH0kDCBkmNFT2iSpUKpIaXGF6QHDGChQYNLF291jCSBGsSJViKqKgj5MIFDBxcyCjrxYsSF9bQLaGV6tguVu+aeHHhJY0SGevQbZBFbBy2dO/q0D0rgxWwd+a2jft27t0ILwLKICl7rdS7VsKQIYMW2EsmDjJULCl2WR41auTmvVtiJyAAOw%3D%3D%22%3B%7D%0A%20%20%0Aelse%20%7B%7D%3B%0A%20%7D%3B%0A%20%7D%3B%0A%20%7D%3B%0A%20%7D%3B%0A%20%7D%3B%0A%0A//%20*****%20DEFINE%20MENU%20ITEM%20ARRAY%20*****%20//%0A/*%20%20%0A%20%20%20%20Each%20menu%20item%20here%20is%20defined%20with%20a%20label%20that%20is%20shown%20in%20the%20menu%20and%20a%20value%20%28called%20%22myvalue%22%29%20that%20can%20be%20accessed%20later.%0A%20%20%20%20Because%20this%20is%20an%20array%20all%20these%20menu%20items%20have%20an%20index%20value%20too.%20%0A%20%20%20%20For%20example%2C%20%22Option%20A%22%20will%20have%20the%20index%20value%20of%200%2C%20%22Option%20B%22%20will%20have%20the%20index%20value%20of%201%2C%20and%20so%20on%0A*/%0A%0A%20%20%0A%09%0Athis.ss%20%3D%20%5B%0A%09%7B%20label%3A%20%22Quick%20save%20as%20MHT%22%2C%20myvalue%3A%20%221%22%20%7D%2C%0A%09%7B%20label%3A%20%22Save%20as%20MHT%22%2C%20myvalue%3A%20%222%22%20%7D%2C%0A%09%7B%20label%3A%20%22Save%20all%20tabs%20as%20MHT%22%2C%20myvalue%3A%20%223%22%20%7D%2C%0A%09%7B%20label%3A%20%22Save%20as%20HTML%20Complete%22%2C%20myvalue%3A%20%224%22%20%7D%2C%0A%09%7B%20label%3A%20%22Save%20with%20Flashgot%22%2C%20myvalue%3A%20%225%22%20%7D%2C%0A%09%7B%20label%3A%20%22Save%20Favicon%22%2C%20myvalue%3A%20%226%22%20%7D%0A%5D%0A%0A%0A//%0A//%20*****%20DETERMINES%20WHICH%20ITEM%20IS%20CHECKED%20IN%20THE%20CONTEXT%20MENU%20*****%20//%0A%0Athis.getIndex%20%3D%20function%28aNode%29%20%7B%0A//%20Sets%20prefstring%20to%20the%20location%20of%20this%20buttons%20preferences%0A%09var%20prefstring%20%3D%20%22custombuttons.menutest.index%22%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%09try%20%7B%0A//%20Tries%20to%20pull%20out%20the%20preference%20value%20from%20that%20location%0A%09%09var%20ssIdx%20%3D%20gPrefService.getIntPref%28prefstring%29%3B%20%20%20%20%20%20%20%20%0A%09%7D%20%0A%09catch%28ex%29%20%7B%0A//%20If%20the%20above%20retrieval%20fails%2C%20the%20preference%20value%20is%20set%20to%20%220%22%0A%09%09var%20ssIdx%20%3D%200%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%09%09gPrefService.setIntPref%28prefstring%2C%20ssIdx%29%3B%20%20%20%20%20%20%20%20%0A%09%7D%0A//%20Uncheck%20all%20the%20menu%20items%0A%09for%28var%20i%20%3D%200%3B%20i%20%3C%20aNode.childNodes.length%3B%20i++%29%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%09%09aNode.childNodes%5Bi%5D.removeAttribute%28%22checked%22%29%3B%20%20%20%20%20%20%20%20%20%0A%09%7D%0A//%20Check%20the%20menu%20item%20where%20it%27s%20index%20value%20corresponds%20to%20the%20preference%20value%0A%09aNode.childNodes%5BssIdx%5D.setAttribute%28%22checked%22%2C%20true%29%3B%20%0A%7D%0A%0A%0A%0A%0A//%20*****%20CHECKS%20AN%20ITEM%20IN%20THE%20CONTEXT%20MENU%20*****%20//%0A%0Athis.setIndex%20%3D%20function%28aNode%29%20%7B%0A%09var%20prefstring%20%3D%20%22custombuttons.menutest.index%22%3B%20%0A//%20Sets%20the%20preference%20value%20to%20the%20index%20value%20of%20the%20aNode%20passed%20into%20this%20function.%0A//%20In%20other%20words%2C%20when%20a%20particular%20option%20is%20clicked%20and%20passed%20into%20this%20function%2C%20set%20the%20preference%20value%20accordingly.%0A%09gPrefService.setIntPref%28prefstring%2C%20aNode.getAttribute%28%22index%22%29%29%3B%0A%09var%20index%20%3D%20gPrefService.getIntPref%28%22custombuttons.menutest.index%22%29%3B%0A%09var%20selpic%20%3D%20this.ss%5Bindex%5D.myvalue%3B%0A%09if%20%28selpic%3D%3D1%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhDwAPAPcAAAAAAAAAAP///////wgEBBAEBBgAABgIBPToyCgoGPj48PT05BQUCODoyGyUDGyUKGywGGzMDGyUTGzMKEyUGGzoGBQsCEywGEzMDGywTChkEGzMTAgUBEzoGEzMKCyUDGzoTBRYCCzcDCywGAgsBBRwCBSUDBSwDAhUBCyUKBTQDBToDAhgBAhsBAh4BAiMBAicBAisBEyUTEywTEzMTCzcKEzoTAi4BAjMBAjYBAjkBAjwBAAIAAAQAAAYAAAoAAAwAABQAABYAABgAABoAABwAAB4AACIAACYAACgAACoAACwAAC4AADIAADQAADYAADgAADoAADwAACQBACwCAC4CADICADQCADYCADgCADoCADwCAToFAB4CACICACYCACgCACoCASwFATQFABYCABgCABoCABwCARsEAR4EASMFAScFABQCAzcKARgEAxwHARUECzoTAywKAAwCCzQTAxYHAyUKAAoCCywTCyUTAQsEAzoTAzQTAAYCAywTAyUTAwsHAAQCAQUEPD09AAICODo7AwMHAQEEAAACPDc9JhQoJhYnJxgnJhQmP/Y///g/6BUnJgkkEwESEgAQJgoiKAokKAgkCQEIKhYnGwgYJgghMx0vNyEzEgIPFgASGw0YJgogEwQQGggWNhwwKAkhGwUWFgQSOiA0HgQYEgAOBQEEHgYYPjY8FgIRCAAGKBYjGgwWFAEPFgAQMh4sIAwaNiIwNh4vNhwuOiIzOiAyHgwYMhwrGggUNiAvIQkZPjg8FgQQDAAILRYlHAgVKhokHg4YHggWHgUVMh4qIAwYNB0rNiIuOCEvDAIICgAGGg4VHhAYGgwUIgwZIwMWNh0rJQoZOiEvHA0VGxEWKhwjHhIYKhoiLh4mPjw9CAIFCAAELBsjLhskHg0VKwMWKx4jIwoUMwMWCgAEKwoWCgIFDAEFPTc5BgACLh4jHhEVMwoWOgYWIwMMKwMMOgMPCgUGMwMMPAEMPAAKOQEKPAIJPAAIIwoMOgUKKwoMMwoMOgoMCwAAAAADwAPAAAIrwBf5IAxoKDBgywIvMg3pWC+AQ8j5sv3YqFEiBghxsixcEq+bhEV5FMAMQmOhQQhipzo0CRKhxBBtsThIh9BkRgfasSBgqOjn0AdsXL06AVPHTeS3FhqZanTGzlY5MixIwaKqyyysnABI+rUHTy8ESAQCRWlZmNz9KQKxJQPH6e4LdNGwIdXtpIIHBrFDdm1ujl44KBKotXYUcRm/eWQQxGQFiQIGD6g6xMtdWNZBAQAOw%3D%3D%22%3B%7D%0A%20%20else%20%7Bif%20%28selpic%3D%3D2%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAMQUAP8AAAD/AACZADPMM///zP///5nMmQAAAADMAABmAP/MzP/M/zNmADMAAJlmmWYzZgAzAMxmmZlmZmYzM////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAHoAxQALAAAAAAQABAAAAVlIECNYkkB6HiWpniqb/vOpMq6bl2bNC33sKBQFQioBANCYVkwHChG6AipZBoE0iyV2UTAolurdxSlJAaKhXphGJfNCEEiwUgI3LBEvHFwPA5jQRBxBwcREoBkMA4QEA0NDxMHCSEAOw%3D%3D%22%3B%7D%0A%20%20else%20%7Bif%20%28selpic%3D%3D3%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQALMNAP8AAP8AMwCZAMz/zP///2aZZgAAAADMAGbMZgBmADPMMwAzADMzM////wAAAAAAACH5BAHoAw0ALAAAAAAQABAAAARTsMlJ6wS34Q2w7NqmfZRokhnZeR46imP6xu0U2LjV3LvEVwLBIEAgBgYFA/AwDDiJiMPySY0ChVSolJJgFp0EgpV7UJgDZsVhO+keEosFg7HoSiIAOw%3D%3D%22%3B%7D%0A%20%20else%20%7Bif%20%28selpic%3D%3D4%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICNjY2P///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjczBAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBNjg2MjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFCwAAAAAEAAQAAAI4ACxgLGxo4DBgwd1yICHJYENEQkiSkxgUEeCNzQSaIEYqkCCjhE9JlDSkCBFjwYpJogwMqNECB5hnhySwEuNBDV2nNxZceQbhxBTpoRJ08sMjRoSkAqllCkpUjdGulFiZs+Pq1h/APohxAYYGUuUJEGipYZZs1q02DCzRAaYJUy0HFlxhwgGHhk6vJjRVgkYJi+ufWpSaxUyZK7gPQHz4i2TGb1ccZhVjBwzdfDutAXzdwa7YPDOcSMHDh08EmAEnHkrAxvoV8OSJYumGMymQjNWNGFF79O8atXK0YPXJE9AADs%3D%22%3B%7D%0A%20%20else%20%7Bif%20%28selpic%3D%3D5%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICP///////9DIyGBQUNjQ0JiAgLigoMCkpBAAAHRIRLAwIJhwaGhEPIw8LKwsEJBwaGBAOIRUSJBQQJw8JJBYSMCIeLgwCLAsBJB4cKCIgGBIQJBgUKBILLhIJKw4EKgoAJh4bJA8HJBYQNCMcKBQMJhMLLBQKIg4GOxUFLhQIKiYkIBgUBAIBNBYGKg4AOhQAPBQAMSMbNCYeJxMHNhcFLBMEOBgFPBkFPhwJP9gAP94KLywqIxMJLhQEPB4KPBwILhIAOBYAPBgALBIANhYAP9oAKiUhIRgRNRoFPB0EOhoAP9wAP94ENhoBOBoAP94AP94CMSYcNjQyPSEEPB4AP+AAPCEBP+IAP+QAPScIPSUEJyUiPCUBP+YAPSkEP+oAPCkBMDAsNjYzLy8pPDw5BAUBLi8sNDYxMjQwNjkzDBAKFiMPFCIOJzAkChAIFScPAgUBChIIFSMSFigSBA4CBBMBNDozCyYHAgkBBBgBFCcSCzQHAg8BHC8bBSMDBSoDAhMBBTEDBTgDAhcBAiEBAiUBAikBDA4MNjg2MjYyNDg0Njo2MjgyGi4aIjIiMjoyHDIcAgwCAi8BAjMBAjcBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACoAACwAAC4AADIAADQAADYAADoAGjIbIy8kAS8FATMFATgFAAwBASUFASoFASEFCxIMAzQLIzImAyYLJSonBy0WJTAqNTw7Ozw9JhQoJw8oKBMoP/o/5g8lEgkRJxMlLx0tGAwWFAgSKA4kGhAYIRAdMh0tDAQKCAAGGxQZHBEZGgwWMBoqJA4eNB4uDAEJDgAKMRcpNBwtKhgkLBomLhwoFAgQMhoqHAoWMREnDgIKGgoUFAoQJBIdLBgkDgQKHhIZLBokMB4oMx0pGxcZJyEkLyksCAQGGAwSIhAZMRglEgYMCAIFCAAEHAsTFAcNCgEFIhYbHhYZHhgaEwoNDQIFNjIzGRETCgQFCwAAAAAEAAQAAAI9gBHrUqUh4DBgwcdGQogMJEkhBAdHToUaGDBKh4yarxQYoOlhg9r9AhCckeRGSzsWEI08CEMJ06ePHHCgwSjUx9bjihyRYpPJyfKLMJpS6eLIVi0aLkiQwMZnKBWlWI0rB2RLVuwHKFyYFEpS55knQLEIYYWMFuAtMgVaVKtVYZWWbKE4IoYMEfcIEJUKhGqS3FXtTIQRYuRDm1u0bnjKdQlT5YED0rRQREyZdSomROgCe6qS61C6XM2J1o1den8BaD0OBZoPs6eBZCmjlu5ZC/2rJqDypIsQ+asBUDWbJu2cQE6C7sD6g+ma89e2PtG/V4AAYYCAgA7%22%0A%3B%7D%20%0A%20%20else%20%7Bif%20%28selpic%3D%3D6%29%7Bthis.image%20%3D%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICP///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjc0BAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBMjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMJA4gGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFPgACCwAAAAAEAAQAAAI1gCtIECQg4DBgwdxxHgnEEEIAgMRHIw4oyISLCEGfhoIEcFGBEhoDMwh8eCDkjhANiRJ4MFEg0EQcJkxMCNCiDBB0iTIsafEgVxkDMwgKqKoT0UH0kDCBkmNFT2iSpUKpIaXGF6QHDGChQYNLF291jCSBGsSJViKqKgj5MIFDBxcyCjrxYsSF9bQLaGV6tguVu+aeHHhJY0SGevQbZBFbBy2dO/q0D0rgxWwd+a2jft27t0ILwLKICl7rdS7VsKQIYMW2EsmDjJULCl2WR41auTmvVtiJyAAOw%3D%3D%22%3B%7D%0A%20%20%0A%20%20else%20%7B%7D%20%0A%20%20%7D%3B%0A%20%20%7D%3B%0A%20%20%7D%3B%0A%20%20%7D%3B%0A%20%7D%3B%0A//%20Also%20check%20the%20menu%20item%0A%09aNode.checked%20%3D%20true%3B%0A%7D%0A%0A%0A%0A%0A//%20*****%20USED%20TO%20ADD%20THE%20ITEMS%20TO%20THE%20CONTEXT%20MENU%20*****%20//%0A%0Afunction%20addMenuItem%28aNode%2C%20aObject%2C%20aIndex%2C%20aLabel%2C%20aMyValue%29%20%7B%0A%09var%20mi%20%3D%20aNode.appendChild%28document.createElement%28%22menuitem%22%29%29%3B%0A//%20Notice%20that%20we%20are%20about%20to%20set%20the%20oncommand%20event%20%28for%20the%20menu%20item%20created%20by%20this%20function%29%20to%20call%20the%20setIndex%20function%20above.%0A//%20The%20upshot%20of%20this%20is%2C%20when%20the%20menu%20item%20is%20clicked%2C%20the%20preference%20value%20is%20set%20to%20the%20menu%20item%27s%20index%20and%20the%20menu%20item%20becomes%20checked.%0A%09mi.setAttribute%28%22oncommand%22%2C%20%22document.popupNode.setIndex%28this%29%22%29%3B%0A%09mi.setAttribute%28%22index%22%2C%20aIndex%29%3B%0A%09mi.setAttribute%28%22label%22%2C%20aLabel%29%3B%0A%09mi.setAttribute%28%22myvalue%22%2C%20aMyValue%29%3B%0A%09mi.setAttribute%28%22type%22%2C%20%22checkbox%22%29%3B%0A%09mi.setAttribute%28%22autoCheck%22%2C%20false%29%3B%0A%7D%0A%0A%0A%0A%0A//%20*****%20MOVES%20THE%20cb%20CONTEXT%20MENU%20INTO%20A%20SUBMENU%20BELOW%20A%20MENU%20SEPERATOR%20AT%20THE%20END%20OF%20THE%20EXISTING%20CONTEXT%20MENU%20*****%20//%0A%0Afunction%20copyMenuItems%28node%2C%20id%2C%20separate%29%20%7B%0A%09var%20menupopup%20%3D%20document.getElementById%28id%29.cloneNode%28true%29%3B%0A%09var%20menuitems%20%3D%20menupopup.childNodes.length%3B%0A%09for%28var%20i%20%3D%200%3B%20i%20%3C%20menuitems%3B%20i++%29%0A%09node.appendChild%28menupopup.firstChild%29%3B%0A%09if%28separate%29%0A%09node.appendChild%28document.createElement%28%22menuseparator%22%29%29%3B%0A%7D%0Afunction%20cloneCBContext%28aNode%29%20%7B%0A%09var%20m%20%3D%20aNode.appendChild%28document.createElement%28%22menu%22%29%29%3B%0A%09m.setAttribute%28%22label%22%2C%20%22Custom%20Button%22%29%3B%0A%09var%20mp%20%3D%20m.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%09copyMenuItems%28mp%2C%20%22custombuttons-contextpopup%22%29%3B%0A%09aNode.insertBefore%28document.createElement%28%22menuseparator%22%29%2C%20m%29%3B%0A%7D%0A%0A%0A%0A%0A//%20*****%20ADDS%20THE%20MENU%20ITEMS%20TO%20THE%20CONTEXT%20MENU%20*****%20//%0A%0Aconst%20popupID%20%3D%20%22cbContext-menutest%22%3B%0A%0Avar%20test%20%3D%20document.getElementById%28popupID%29%3B%0Aif%28test%29%20test.parentNode.removeChild%28test%29%3B%0A%0Avar%20main%20%3D%20document.getElementById%28%22mainPopupSet%22%29%0Avar%20pop%20%3D%20main.appendChild%28document.createElement%28%22popup%22%29%29%3B%0Apop.id%20%3D%20popupID%3B%0Apop.setAttribute%28%22onpopupshowing%22%2C%20%22document.popupNode.getIndex%28this%29%22%29%3B%0Apop.setAttribute%28%22oncommand%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0A//%20For%20our%20array%20of%20menu%20buttons%2C%20add%20each%20one%20to%20the%20context%20menu%20using%20our%20addMenuItem%20function%20from%20earlier%0Afor%28var%20i%20%3D%200%3B%20i%20%3C%20this.ss.length%3B%20i++%29%20%7B%0A%09addMenuItem%28pop%2C%20this%2C%20i%2C%20this.ss%5Bi%5D.label%2C%20this.ss%5Bi%5D.myvalue%29%3B%0A%09%0A%7D%0A%0A%0A%0A%0A//%20*****%20EXTRA%20SHOW%20POPUP%20FUNCTION%20*****%20//%20%0A//%20This%20is%20to%20facilitate%20handling%20of%20different%20mouse%20clicks%20and%20is%20set%20to%20the%20right%20click%20behaviour%20below.%0A//%20It%20is%20not%20needed%20unless%20you%20are%20using%20onclick%20handling%20from%20within%20this%20initialization%20tab%2C%20as%20in%20this%20demo.%0A%0Athis.showPopup%20%3D%20function%28node%29%20%7B%0A%20%20var%20popup%20%3D%20document.getElementById%28%22cbContext-menutest%22%29%3B%0A%20%20var%20x%20%3D%20node.boxObject.x%3B%0A%20%20var%20y%20%3D%20node.boxObject.y%20+%20node.boxObject.height%20+%2024%3B%0A%20%20document.popupNode%20%3D%20node%3B%0A%20%20popup.showPopup%28node%2C%20x%2C%20y%2C%20%22popup%22%2C%20null%2C%20null%29%3B%0A%7D%0A%0A%0A%0A%0A//%20*****%20MOUSE%20HANDLING%20*****%20//%0A%0Athis.leftclick%20%3D%20function%28evt%29%20%0A%7B%0A%20%20//%20Get%20the%20preference%20value%0A%20%20var%20index%20%3D%20gPrefService.getIntPref%28%22custombuttons.menutest.index%22%29%3B%0A%20%20//%20Use%20this%20to%20pull%20out%20the%20value%20of%20the%20selected%20item%20from%20our%20menu%20item%20array%0A%20%20var%20selectedvalue%20%3D%20this.ss%5Bindex%5D.myvalue%3B%0A%20%20//%20Show%20the%20value%0A%0A%20%0A%0A%20%20if%20%28selectedvalue%3D%3D1%29%7BUnMHTUIManager.quicksave%20%28false%29%3B%7D%0A%20%20else%20%7Bif%20%28selectedvalue%3D%3D2%29%7BUnMHTUIManager.save%20%28false%29%3B%7D%0A%20%20else%20%7Bif%20%28selectedvalue%3D%3D3%29%7BUnMHTUIManager.savemulti%20%28false%29%3B%7D%0A%20%20else%20%7Bif%20%28selectedvalue%3D%3D4%29%7BsaveDocument%28window.content.document%29%3B%7D%0A%20%20else%20%7Bif%20%28selectedvalue%3D%3D5%29%7BgFlashGot.downloadSel%28%29%20%7C%7C%20gFlashGot.downloadAll%28%29%3B%7D%20%0A%20%20else%20%7Bif%20%28selectedvalue%3D%3D6%29%7Bvar%20orgimg%20%3D%20this.image%3Bthis.image%20%3D%20document.getElementById%28%22page-proxy-favicon%22%29.src%3Bif%20%28this.image%20%3D%3D%20%27%27%29%20alert%28%27%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20The%20page%20has%20no%20favicon.%27%29%3B%20else%20openUILinkIn%28this.image%2C%22save%22%29%3Bthis.image%20%3D%20orgimg%3B%7D%0A%20%20%0A%20%20else%20%7B%7D%20%0A%20%20%7D%3B%0A%20%20%7D%3B%0A%20%20%7D%3B%0A%20%20%7D%3B%0A%20%7D%3B%0A%20%20%7D%3B%0A%0A%0Athis.rightclick%20%3D%20function%28evt%29%20%0A%7B%0A%20%20this.showPopup%28this%29%3B%0A%7D%3B%0A%0A%0A%0A%0A%0A%0A//%20*****%20INITIALISATION%20*****%20//%0A%0A//%20Move%20the%20cb%20context%20menu%20into%20the%20submenu%0AcloneCBContext%28pop%29%3B%0A//%20Set%20the%20context%20menu%20to%20our%20context%20menu%0Athis.setAttribute%28%22context%22%2C%20popupID%29%3B%0Athis.setAttribute%28%27onclick%27%2C%20%27custombuttons.gQuot.mHandler%28event%2C%20this%29%27%29%3B%20//%20Calls%20the%20Global%20MouseClick%20handler%20gQuot%0A%0A%0A%0A%0A%0A%0A%5D%5D%3E%3C/initcode%3E%0D%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0D%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0D%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5BNo%20help%20developed%20for%20%0A%3Clabel%3E%20button%0Acustombuttons-button%3Cid%3E.%5D%5D%3E%3C/help%3E%0D%0A%20%20%3Cattributes/%3E%0D%0A%3C/custombutton%3E

инициализация

Выделить код

Код:

// set selected icon
 var defico = gPrefService.getIntPref("custombuttons.menutest.index");
if (defico==0){this.image = "data:image/gif;base64,R0lGODdhDwAPAPcAAAAAAAAAAP///////wgEBBAEBBgAABgIBPToyCgoGPj48PT05BQUCODoyGyUDGyUKGywGGzMDGyUTGzMKEyUGGzoGBQsCEywGEzMDGywTChkEGzMTAgUBEzoGEzMKCyUDGzoTBRYCCzcDCywGAgsBBRwCBSUDBSwDAhUBCyUKBTQDBToDAhgBAhsBAh4BAiMBAicBAisBEyUTEywTEzMTCzcKEzoTAi4BAjMBAjYBAjkBAjwBAAIAAAQAAAYAAAoAAAwAABQAABYAABgAABoAABwAAB4AACIAACYAACgAACoAACwAAC4AADIAADQAADYAADgAADoAADwAACQBACwCAC4CADICADQCADYCADgCADoCADwCAToFAB4CACICACYCACgCACoCASwFATQFABYCABgCABoCABwCARsEAR4EASMFAScFABQCAzcKARgEAxwHARUECzoTAywKAAwCCzQTAxYHAyUKAAoCCywTCyUTAQsEAzoTAzQTAAYCAywTAyUTAwsHAAQCAQUEPD09AAICODo7AwMHAQEEAAACPDc9JhQoJhYnJxgnJhQmP/Y///g/6BUnJgkkEwESEgAQJgoiKAokKAgkCQEIKhYnGwgYJgghMx0vNyEzEgIPFgASGw0YJgogEwQQGggWNhwwKAkhGwUWFgQSOiA0HgQYEgAOBQEEHgYYPjY8FgIRCAAGKBYjGgwWFAEPFgAQMh4sIAwaNiIwNh4vNhwuOiIzOiAyHgwYMhwrGggUNiAvIQkZPjg8FgQQDAAILRYlHAgVKhokHg4YHggWHgUVMh4qIAwYNB0rNiIuOCEvDAIICgAGGg4VHhAYGgwUIgwZIwMWNh0rJQoZOiEvHA0VGxEWKhwjHhIYKhoiLh4mPjw9CAIFCAAELBsjLhskHg0VKwMWKx4jIwoUMwMWCgAEKwoWCgIFDAEFPTc5BgACLh4jHhEVMwoWOgYWIwMMKwMMOgMPCgUGMwMMPAEMPAAKOQEKPAIJPAAIIwoMOgUKKwoMMwoMOgoMCwAAAAADwAPAAAIrwBf5IAxoKDBgywIvMg3pWC+AQ8j5sv3YqFEiBghxsixcEq+bhEV5FMAMQmOhQQhipzo0CRKhxBBtsThIh9BkRgfasSBgqOjn0AdsXL06AVPHTeS3FhqZanTGzlY5MixIwaKqyyysnABI+rUHTy8ESAQCRWlZmNz9KQKxJQPH6e4LdNGwIdXtpIIHBrFDdm1ujl44KBKotXYUcRm/eWQQxGQFiQIGD6g6xMtdWNZBAQAOw==";}
else {if (defico==1){this.image = "data:image/gif;base64,R0lGODlhEAAQAMQUAP8AAAD/AACZADPMM///zP///5nMmQAAAADMAABmAP/MzP/M/zNmADMAAJlmmWYzZgAzAMxmmZlmZmYzM////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAHoAxQALAAAAAAQABAAAAVlIECNYkkB6HiWpniqb/vOpMq6bl2bNC33sKBQFQioBANCYVkwHChG6AipZBoE0iyV2UTAolurdxSlJAaKhXphGJfNCEEiwUgI3LBEvHFwPA5jQRBxBwcREoBkMA4QEA0NDxMHCSEAOw==";}
else {if (defico==2){this.image = "data:image/gif;base64,R0lGODlhEAAQALMNAP8AAP8AMwCZAMz/zP///2aZZgAAAADMAGbMZgBmADPMMwAzADMzM////wAAAAAAACH5BAHoAw0ALAAAAAAQABAAAARTsMlJ6wS34Q2w7NqmfZRokhnZeR46imP6xu0U2LjV3LvEVwLBIEAgBgYFA/AwDDiJiMPySY0ChVSolJJgFp0EgpV7UJgDZsVhO+keEosFg7HoSiIAOw==";}
else {if (defico==3){this.image = "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICNjY2P///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjczBAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBNjg2MjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFCwAAAAAEAAQAAAI4ACxgLGxo4DBgwd1yICHJYENEQkiSkxgUEeCNzQSaIEYqkCCjhE9JlDSkCBFjwYpJogwMqNECB5hnhySwEuNBDV2nNxZceQbhxBTpoRJ08sMjRoSkAqllCkpUjdGulFiZs+Pq1h/APohxAYYGUuUJEGipYZZs1q02DCzRAaYJUy0HFlxhwgGHhk6vJjRVgkYJi+ufWpSaxUyZK7gPQHz4i2TGb1ccZhVjBwzdfDutAXzdwa7YPDOcSMHDh08EmAEnHkrAxvoV8OSJYumGMymQjNWNGFF79O8atXK0YPXJE9AADs=";}
else {if (defico==4){this.image = "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICP///////9DIyGBQUNjQ0JiAgLigoMCkpBAAAHRIRLAwIJhwaGhEPIw8LKwsEJBwaGBAOIRUSJBQQJw8JJBYSMCIeLgwCLAsBJB4cKCIgGBIQJBgUKBILLhIJKw4EKgoAJh4bJA8HJBYQNCMcKBQMJhMLLBQKIg4GOxUFLhQIKiYkIBgUBAIBNBYGKg4AOhQAPBQAMSMbNCYeJxMHNhcFLBMEOBgFPBkFPhwJP9gAP94KLywqIxMJLhQEPB4KPBwILhIAOBYAPBgALBIANhYAP9oAKiUhIRgRNRoFPB0EOhoAP9wAP94ENhoBOBoAP94AP94CMSYcNjQyPSEEPB4AP+AAPCEBP+IAP+QAPScIPSUEJyUiPCUBP+YAPSkEP+oAPCkBMDAsNjYzLy8pPDw5BAUBLi8sNDYxMjQwNjkzDBAKFiMPFCIOJzAkChAIFScPAgUBChIIFSMSFigSBA4CBBMBNDozCyYHAgkBBBgBFCcSCzQHAg8BHC8bBSMDBSoDAhMBBTEDBTgDAhcBAiEBAiUBAikBDA4MNjg2MjYyNDg0Njo2MjgyGi4aIjIiMjoyHDIcAgwCAi8BAjMBAjcBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACoAACwAAC4AADIAADQAADYAADoAGjIbIy8kAS8FATMFATgFAAwBASUFASoFASEFCxIMAzQLIzImAyYLJSonBy0WJTAqNTw7Ozw9JhQoJw8oKBMoP/o/5g8lEgkRJxMlLx0tGAwWFAgSKA4kGhAYIRAdMh0tDAQKCAAGGxQZHBEZGgwWMBoqJA4eNB4uDAEJDgAKMRcpNBwtKhgkLBomLhwoFAgQMhoqHAoWMREnDgIKGgoUFAoQJBIdLBgkDgQKHhIZLBokMB4oMx0pGxcZJyEkLyksCAQGGAwSIhAZMRglEgYMCAIFCAAEHAsTFAcNCgEFIhYbHhYZHhgaEwoNDQIFNjIzGRETCgQFCwAAAAAEAAQAAAI9gBHrUqUh4DBgwcdGQogMJEkhBAdHToUaGDBKh4yarxQYoOlhg9r9AhCckeRGSzsWEI08CEMJ06ePHHCgwSjUx9bjihyRYpPJyfKLMJpS6eLIVi0aLkiQwMZnKBWlWI0rB2RLVuwHKFyYFEpS55knQLEIYYWMFuAtMgVaVKtVYZWWbKE4IoYMEfcIEJUKhGqS3FXtTIQRYuRDm1u0bnjKdQlT5YED0rRQREyZdSomROgCe6qS61C6XM2J1o1den8BaD0OBZoPs6eBZCmjlu5ZC/2rJqDypIsQ+asBUDWbJu2cQE6C7sD6g+ma89e2PtG/V4AAYYCAgA7";} 
else {if (defico==5){this.image = "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICP///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjc0BAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBMjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMJA4gGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFPgACCwAAAAAEAAQAAAI1gCtIECQg4DBgwdxxHgnEEEIAgMRHIw4oyISLCEGfhoIEcFGBEhoDMwh8eCDkjhANiRJ4MFEg0EQcJkxMCNCiDBB0iTIsafEgVxkDMwgKqKoT0UH0kDCBkmNFT2iSpUKpIaXGF6QHDGChQYNLF291jCSBGsSJViKqKgj5MIFDBxcyCjrxYsSF9bQLaGV6tguVu+aeHHhJY0SGevQbZBFbBy2dO/q0D0rgxWwd+a2jft27t0ILwLKICl7rdS7VsKQIYMW2EsmDjJULCl2WR41auTmvVtiJyAAOw==";}
  
else {};
 };
 };
 };
 };
 };

// ***** DEFINE MENU ITEM ARRAY ***** //
/*  
    Each menu item here is defined with a label that is shown in the menu and a value (called "myvalue") that can be accessed later.
    Because this is an array all these menu items have an index value too. 
    For example, "Option A" will have the index value of 0, "Option B" will have the index value of 1, and so on
*/

  
    
this.ss = [
    { label: "Quick save as MHT", myvalue: "1" },
    { label: "Save as MHT", myvalue: "2" },
    { label: "Save all tabs as MHT", myvalue: "3" },
    { label: "Save as HTML Complete", myvalue: "4" },
    { label: "Save with Flashgot", myvalue: "5" },
    { label: "Save Favicon", myvalue: "6" }
]


//
// ***** DETERMINES WHICH ITEM IS CHECKED IN THE CONTEXT MENU ***** //

this.getIndex = function(aNode) {
// Sets prefstring to the location of this buttons preferences
    var prefstring = "custombuttons.menutest.index";                
    try {
// Tries to pull out the preference value from that location
        var ssIdx = gPrefService.getIntPref(prefstring);        
    } 
    catch(ex) {
// If the above retrieval fails, the preference value is set to "0"
        var ssIdx = 0;                                          
        gPrefService.setIntPref(prefstring, ssIdx);        
    }
// Uncheck all the menu items
    for(var i = 0; i < aNode.childNodes.length; i++) {              
        aNode.childNodes[i].removeAttribute("checked");         
    }
// Check the menu item where it's index value corresponds to the preference value
    aNode.childNodes[ssIdx].setAttribute("checked", true); 
}




// ***** CHECKS AN ITEM IN THE CONTEXT MENU ***** //

this.setIndex = function(aNode) {
    var prefstring = "custombuttons.menutest.index"; 
// Sets the preference value to the index value of the aNode passed into this function.
// In other words, when a particular option is clicked and passed into this function, set the preference value accordingly.
    gPrefService.setIntPref(prefstring, aNode.getAttribute("index"));
    var index = gPrefService.getIntPref("custombuttons.menutest.index");
    var selpic = this.ss[index].myvalue;
    if (selpic==1){this.image = "data:image/gif;base64,R0lGODdhDwAPAPcAAAAAAAAAAP///////wgEBBAEBBgAABgIBPToyCgoGPj48PT05BQUCODoyGyUDGyUKGywGGzMDGyUTGzMKEyUGGzoGBQsCEywGEzMDGywTChkEGzMTAgUBEzoGEzMKCyUDGzoTBRYCCzcDCywGAgsBBRwCBSUDBSwDAhUBCyUKBTQDBToDAhgBAhsBAh4BAiMBAicBAisBEyUTEywTEzMTCzcKEzoTAi4BAjMBAjYBAjkBAjwBAAIAAAQAAAYAAAoAAAwAABQAABYAABgAABoAABwAAB4AACIAACYAACgAACoAACwAAC4AADIAADQAADYAADgAADoAADwAACQBACwCAC4CADICADQCADYCADgCADoCADwCAToFAB4CACICACYCACgCACoCASwFATQFABYCABgCABoCABwCARsEAR4EASMFAScFABQCAzcKARgEAxwHARUECzoTAywKAAwCCzQTAxYHAyUKAAoCCywTCyUTAQsEAzoTAzQTAAYCAywTAyUTAwsHAAQCAQUEPD09AAICODo7AwMHAQEEAAACPDc9JhQoJhYnJxgnJhQmP/Y///g/6BUnJgkkEwESEgAQJgoiKAokKAgkCQEIKhYnGwgYJgghMx0vNyEzEgIPFgASGw0YJgogEwQQGggWNhwwKAkhGwUWFgQSOiA0HgQYEgAOBQEEHgYYPjY8FgIRCAAGKBYjGgwWFAEPFgAQMh4sIAwaNiIwNh4vNhwuOiIzOiAyHgwYMhwrGggUNiAvIQkZPjg8FgQQDAAILRYlHAgVKhokHg4YHggWHgUVMh4qIAwYNB0rNiIuOCEvDAIICgAGGg4VHhAYGgwUIgwZIwMWNh0rJQoZOiEvHA0VGxEWKhwjHhIYKhoiLh4mPjw9CAIFCAAELBsjLhskHg0VKwMWKx4jIwoUMwMWCgAEKwoWCgIFDAEFPTc5BgACLh4jHhEVMwoWOgYWIwMMKwMMOgMPCgUGMwMMPAEMPAAKOQEKPAIJPAAIIwoMOgUKKwoMMwoMOgoMCwAAAAADwAPAAAIrwBf5IAxoKDBgywIvMg3pWC+AQ8j5sv3YqFEiBghxsixcEq+bhEV5FMAMQmOhQQhipzo0CRKhxBBtsThIh9BkRgfasSBgqOjn0AdsXL06AVPHTeS3FhqZanTGzlY5MixIwaKqyyysnABI+rUHTy8ESAQCRWlZmNz9KQKxJQPH6e4LdNGwIdXtpIIHBrFDdm1ujl44KBKotXYUcRm/eWQQxGQFiQIGD6g6xMtdWNZBAQAOw==";}
  else {if (selpic==2){this.image = "data:image/gif;base64,R0lGODlhEAAQAMQUAP8AAAD/AACZADPMM///zP///5nMmQAAAADMAABmAP/MzP/M/zNmADMAAJlmmWYzZgAzAMxmmZlmZmYzM////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAHoAxQALAAAAAAQABAAAAVlIECNYkkB6HiWpniqb/vOpMq6bl2bNC33sKBQFQioBANCYVkwHChG6AipZBoE0iyV2UTAolurdxSlJAaKhXphGJfNCEEiwUgI3LBEvHFwPA5jQRBxBwcREoBkMA4QEA0NDxMHCSEAOw==";}
  else {if (selpic==3){this.image = "data:image/gif;base64,R0lGODlhEAAQALMNAP8AAP8AMwCZAMz/zP///2aZZgAAAADMAGbMZgBmADPMMwAzADMzM////wAAAAAAACH5BAHoAw0ALAAAAAAQABAAAARTsMlJ6wS34Q2w7NqmfZRokhnZeR46imP6xu0U2LjV3LvEVwLBIEAgBgYFA/AwDDiJiMPySY0ChVSolJJgFp0EgpV7UJgDZsVhO+keEosFg7HoSiIAOw==";}
  else {if (selpic==4){this.image = "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICNjY2P///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjczBAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBNjg2MjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFCwAAAAAEAAQAAAI4ACxgLGxo4DBgwd1yICHJYENEQkiSkxgUEeCNzQSaIEYqkCCjhE9JlDSkCBFjwYpJogwMqNECB5hnhySwEuNBDV2nNxZceQbhxBTpoRJ08sMjRoSkAqllCkpUjdGulFiZs+Pq1h/APohxAYYGUuUJEGipYZZs1q02DCzRAaYJUy0HFlxhwgGHhk6vJjRVgkYJi+ufWpSaxUyZK7gPQHz4i2TGb1ccZhVjBwzdfDutAXzdwa7YPDOcSMHDh08EmAEnHkrAxvoV8OSJYumGMymQjNWNGFF79O8atXK0YPXJE9AADs=";}
  else {if (selpic==5){this.image = "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICP///////9DIyGBQUNjQ0JiAgLigoMCkpBAAAHRIRLAwIJhwaGhEPIw8LKwsEJBwaGBAOIRUSJBQQJw8JJBYSMCIeLgwCLAsBJB4cKCIgGBIQJBgUKBILLhIJKw4EKgoAJh4bJA8HJBYQNCMcKBQMJhMLLBQKIg4GOxUFLhQIKiYkIBgUBAIBNBYGKg4AOhQAPBQAMSMbNCYeJxMHNhcFLBMEOBgFPBkFPhwJP9gAP94KLywqIxMJLhQEPB4KPBwILhIAOBYAPBgALBIANhYAP9oAKiUhIRgRNRoFPB0EOhoAP9wAP94ENhoBOBoAP94AP94CMSYcNjQyPSEEPB4AP+AAPCEBP+IAP+QAPScIPSUEJyUiPCUBP+YAPSkEP+oAPCkBMDAsNjYzLy8pPDw5BAUBLi8sNDYxMjQwNjkzDBAKFiMPFCIOJzAkChAIFScPAgUBChIIFSMSFigSBA4CBBMBNDozCyYHAgkBBBgBFCcSCzQHAg8BHC8bBSMDBSoDAhMBBTEDBTgDAhcBAiEBAiUBAikBDA4MNjg2MjYyNDg0Njo2MjgyGi4aIjIiMjoyHDIcAgwCAi8BAjMBAjcBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACoAACwAAC4AADIAADQAADYAADoAGjIbIy8kAS8FATMFATgFAAwBASUFASoFASEFCxIMAzQLIzImAyYLJSonBy0WJTAqNTw7Ozw9JhQoJw8oKBMoP/o/5g8lEgkRJxMlLx0tGAwWFAgSKA4kGhAYIRAdMh0tDAQKCAAGGxQZHBEZGgwWMBoqJA4eNB4uDAEJDgAKMRcpNBwtKhgkLBomLhwoFAgQMhoqHAoWMREnDgIKGgoUFAoQJBIdLBgkDgQKHhIZLBokMB4oMx0pGxcZJyEkLyksCAQGGAwSIhAZMRglEgYMCAIFCAAEHAsTFAcNCgEFIhYbHhYZHhgaEwoNDQIFNjIzGRETCgQFCwAAAAAEAAQAAAI9gBHrUqUh4DBgwcdGQogMJEkhBAdHToUaGDBKh4yarxQYoOlhg9r9AhCckeRGSzsWEI08CEMJ06ePHHCgwSjUx9bjihyRYpPJyfKLMJpS6eLIVi0aLkiQwMZnKBWlWI0rB2RLVuwHKFyYFEpS55knQLEIYYWMFuAtMgVaVKtVYZWWbKE4IoYMEfcIEJUKhGqS3FXtTIQRYuRDm1u0bnjKdQlT5YED0rRQREyZdSomROgCe6qS61C6XM2J1o1den8BaD0OBZoPs6eBZCmjlu5ZC/2rJqDypIsQ+asBUDWbJu2cQE6C7sD6g+ma89e2PtG/V4AAYYCAgA7"
;} 
  else {if (selpic==6){this.image = "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICP///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjc0BAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBMjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMJA4gGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFPgACCwAAAAAEAAQAAAI1gCtIECQg4DBgwdxxHgnEEEIAgMRHIw4oyISLCEGfhoIEcFGBEhoDMwh8eCDkjhANiRJ4MFEg0EQcJkxMCNCiDBB0iTIsafEgVxkDMwgKqKoT0UH0kDCBkmNFT2iSpUKpIaXGF6QHDGChQYNLF291jCSBGsSJViKqKgj5MIFDBxcyCjrxYsSF9bQLaGV6tguVu+aeHHhJY0SGevQbZBFbBy2dO/q0D0rgxWwd+a2jft27t0ILwLKICl7rdS7VsKQIYMW2EsmDjJULCl2WR41auTmvVtiJyAAOw==";}
  
  else {} 
  };
  };
  };
  };
 };
// Also check the menu item
    aNode.checked = true;
}




// ***** USED TO ADD THE ITEMS TO THE CONTEXT MENU ***** //

function addMenuItem(aNode, aObject, aIndex, aLabel, aMyValue) {
    var mi = aNode.appendChild(document.createElement("menuitem"));
// Notice that we are about to set the oncommand event (for the menu item created by this function) to call the setIndex function above.
// The upshot of this is, when the menu item is clicked, the preference value is set to the menu item's index and the menu item becomes checked.
    mi.setAttribute("oncommand", "document.popupNode.setIndex(this)");
    mi.setAttribute("index", aIndex);
    mi.setAttribute("label", aLabel);
    mi.setAttribute("myvalue", aMyValue);
    mi.setAttribute("type", "checkbox");
    mi.setAttribute("autoCheck", false);
}




// ***** MOVES THE cb CONTEXT MENU INTO A SUBMENU BELOW A MENU SEPERATOR AT THE END OF THE EXISTING CONTEXT MENU ***** //

function copyMenuItems(node, id, separate) {
    var menupopup = document.getElementById(id).cloneNode(true);
    var menuitems = menupopup.childNodes.length;
    for(var i = 0; i < menuitems; i++)
    node.appendChild(menupopup.firstChild);
    if(separate)
    node.appendChild(document.createElement("menuseparator"));
}
function cloneCBContext(aNode) {
    var m = aNode.appendChild(document.createElement("menu"));
    m.setAttribute("label", "Custom Button");
    var mp = m.appendChild(document.createElement("menupopup"));
    copyMenuItems(mp, "custombuttons-contextpopup");
    aNode.insertBefore(document.createElement("menuseparator"), m);
}




// ***** ADDS THE MENU ITEMS TO THE CONTEXT MENU ***** //

const popupID = "cbContext-menutest";

var test = document.getElementById(popupID);
if(test) test.parentNode.removeChild(test);

var main = document.getElementById("mainPopupSet")
var pop = main.appendChild(document.createElement("popup"));
pop.id = popupID;
pop.setAttribute("onpopupshowing", "document.popupNode.getIndex(this)");
pop.setAttribute("oncommand", "event.stopPropagation()");

// For our array of menu buttons, add each one to the context menu using our addMenuItem function from earlier
for(var i = 0; i < this.ss.length; i++) {
    addMenuItem(pop, this, i, this.ss[i].label, this.ss[i].myvalue);
    
}




// ***** EXTRA SHOW POPUP FUNCTION ***** // 
// This is to facilitate handling of different mouse clicks and is set to the right click behaviour below.
// It is not needed unless you are using onclick handling from within this initialization tab, as in this demo.

this.showPopup = function(node) {
  var popup = document.getElementById("cbContext-menutest");
  var x = node.boxObject.x;
  var y = node.boxObject.y + node.boxObject.height + 24;
  document.popupNode = node;
  popup.showPopup(node, x, y, "popup", null, null);
}




// ***** MOUSE HANDLING ***** //

this.leftclick = function(evt) 
{
  // Get the preference value
  var index = gPrefService.getIntPref("custombuttons.menutest.index");
  // Use this to pull out the value of the selected item from our menu item array
  var selectedvalue = this.ss[index].myvalue;
  // Show the value

 

  if (selectedvalue==1){UnMHTUIManager.quicksave (false);}
  else {if (selectedvalue==2){UnMHTUIManager.save (false);}
  else {if (selectedvalue==3){UnMHTUIManager.savemulti (false);}
  else {if (selectedvalue==4){saveDocument(window.content.document);}
  else {if (selectedvalue==5){gFlashGot.downloadSel() || gFlashGot.downloadAll();} 
  else {if (selectedvalue==6){var orgimg = this.image;this.image = document.getElementById("page-proxy-favicon").src;if (this.image == '') alert('\n             The page has no favicon.'); else openUILinkIn(this.image,"save");this.image = orgimg;}
  
  else {} 
  };
  };
  };
  };
 };
  };


this.rightclick = function(evt) 
{
  this.showPopup(this);
};






// ***** INITIALISATION ***** //

// Move the cb context menu into the submenu
cloneCBContext(pop);
// Set the context menu to our context menu
this.setAttribute("context", popupID);
this.setAttribute('onclick', 'custombuttons.gQuot.mHandler(event, this)'); // Calls the Global MouseClick handler gQuot

Save All-in-One (Firefox)
Kод кнопки:

Выделить код

Код:

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%3EAll%20Save%20in%20one%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICP///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjc0BAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBMjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMJA4gGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFPgACCwAAAAAEAAQAAAI1gCtIECQg4DBgwdxxHgnEEEIAgMRHIw4oyISLCEGfhoIEcFGBEhoDMwh8eCDkjhANiRJ4MFEg0EQcJkxMCNCiDBB0iTIsafEgVxkDMwgKqKoT0UH0kDCBkmNFT2iSpUKpIaXGF6QHDGChQYNLF291jCSBGsSJViKqKgj5MIFDBxcyCjrxYsSF9bQLaGV6tguVu+aeHHhJY0SGevQbZBFbBy2dO/q0D0rgxWwd+a2jft27t0ILwLKICl7rdS7VsKQIYMW2EsmDjJULCl2WR41auTmvVtiJyAAOw%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.buttonImage%20%3D%20%5B%0A%20%20%20%20%20%20%20%7B%20image%3A%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhDwAPAPcAAAAAAAAAAP///////wgEBBAEBBgAABgIBPToyCgoGPj48PT05BQUCODoyGyUDGyUKGywGGzMDGyUTGzMKEyUGGzoGBQsCEywGEzMDGywTChkEGzMTAgUBEzoGEzMKCyUDGzoTBRYCCzcDCywGAgsBBRwCBSUDBSwDAhUBCyUKBTQDBToDAhgBAhsBAh4BAiMBAicBAisBEyUTEywTEzMTCzcKEzoTAi4BAjMBAjYBAjkBAjwBAAIAAAQAAAYAAAoAAAwAABQAABYAABgAABoAABwAAB4AACIAACYAACgAACoAACwAAC4AADIAADQAADYAADgAADoAADwAACQBACwCAC4CADICADQCADYCADgCADoCADwCAToFAB4CACICACYCACgCACoCASwFATQFABYCABgCABoCABwCARsEAR4EASMFAScFABQCAzcKARgEAxwHARUECzoTAywKAAwCCzQTAxYHAyUKAAoCCywTCyUTAQsEAzoTAzQTAAYCAywTAyUTAwsHAAQCAQUEPD09AAICODo7AwMHAQEEAAACPDc9JhQoJhYnJxgnJhQmP/Y///g/6BUnJgkkEwESEgAQJgoiKAokKAgkCQEIKhYnGwgYJgghMx0vNyEzEgIPFgASGw0YJgogEwQQGggWNhwwKAkhGwUWFgQSOiA0HgQYEgAOBQEEHgYYPjY8FgIRCAAGKBYjGgwWFAEPFgAQMh4sIAwaNiIwNh4vNhwuOiIzOiAyHgwYMhwrGggUNiAvIQkZPjg8FgQQDAAILRYlHAgVKhokHg4YHggWHgUVMh4qIAwYNB0rNiIuOCEvDAIICgAGGg4VHhAYGgwUIgwZIwMWNh0rJQoZOiEvHA0VGxEWKhwjHhIYKhoiLh4mPjw9CAIFCAAELBsjLhskHg0VKwMWKx4jIwoUMwMWCgAEKwoWCgIFDAEFPTc5BgACLh4jHhEVMwoWOgYWIwMMKwMMOgMPCgUGMwMMPAEMPAAKOQEKPAIJPAAIIwoMOgUKKwoMMwoMOgoMCwAAAAADwAPAAAIrwBf5IAxoKDBgywIvMg3pWC+AQ8j5sv3YqFEiBghxsixcEq+bhEV5FMAMQmOhQQhipzo0CRKhxBBtsThIh9BkRgfasSBgqOjn0AdsXL06AVPHTeS3FhqZanTGzlY5MixIwaKqyyysnABI+rUHTy8ESAQCRWlZmNz9KQKxJQPH6e4LdNGwIdXtpIIHBrFDdm1ujl44KBKotXYUcRm/eWQQxGQFiQIGD6g6xMtdWNZBAQAOw%3D%3D%22%7D%2C%0A%20%20%20%20%20%20%20%7B%20image%3A%20%22data%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAMQUAP8AAAD/AACZADPMM///zP///5nMmQAAAADMAABmAP/MzP/M/zNmADMAAJlmmWYzZgAzAMxmmZlmZmYzM////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAHoAxQALAAAAAAQABAAAAVlIECNYkkB6HiWpniqb/vOpMq6bl2bNC33sKBQFQioBANCYVkwHChG6AipZBoE0iyV2UTAolurdxSlJAaKhXphGJfNCEEiwUgI3LBEvHFwPA5jQRBxBwcREoBkMA4QEA0NDxMHCSEAOw%3D%3D%22%7D%2C%0A%20%20%20%20%20%20%20%7B%20image%3A%20%22data%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQALMNAP8AAP8AMwCZAMz/zP///2aZZgAAAADMAGbMZgBmADPMMwAzADMzM////wAAAAAAACH5BAHoAw0ALAAAAAAQABAAAARTsMlJ6wS34Q2w7NqmfZRokhnZeR46imP6xu0U2LjV3LvEVwLBIEAgBgYFA/AwDDiJiMPySY0ChVSolJJgFp0EgpV7UJgDZsVhO+keEosFg7HoSiIAOw%3D%3D%22%7D%2C%0A%20%20%20%20%20%20%20%7B%20image%3A%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICNjY2P///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjczBAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBNjg2MjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFCwAAAAAEAAQAAAI4ACxgLGxo4DBgwd1yICHJYENEQkiSkxgUEeCNzQSaIEYqkCCjhE9JlDSkCBFjwYpJogwMqNECB5hnhySwEuNBDV2nNxZceQbhxBTpoRJ08sMjRoSkAqllCkpUjdGulFiZs+Pq1h/APohxAYYGUuUJEGipYZZs1q02DCzRAaYJUy0HFlxhwgGHhk6vJjRVgkYJi+ufWpSaxUyZK7gPQHz4i2TGb1ccZhVjBwzdfDutAXzdwa7YPDOcSMHDh08EmAEnHkrAxvoV8OSJYumGMymQjNWNGFF79O8atXK0YPXJE9AADs%3D%22%7D%2C%0A%20%20%20%20%20%20%20%7B%20image%3A%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICP///////9DIyGBQUNjQ0JiAgLigoMCkpBAAAHRIRLAwIJhwaGhEPIw8LKwsEJBwaGBAOIRUSJBQQJw8JJBYSMCIeLgwCLAsBJB4cKCIgGBIQJBgUKBILLhIJKw4EKgoAJh4bJA8HJBYQNCMcKBQMJhMLLBQKIg4GOxUFLhQIKiYkIBgUBAIBNBYGKg4AOhQAPBQAMSMbNCYeJxMHNhcFLBMEOBgFPBkFPhwJP9gAP94KLywqIxMJLhQEPB4KPBwILhIAOBYAPBgALBIANhYAP9oAKiUhIRgRNRoFPB0EOhoAP9wAP94ENhoBOBoAP94AP94CMSYcNjQyPSEEPB4AP+AAPCEBP+IAP+QAPScIPSUEJyUiPCUBP+YAPSkEP+oAPCkBMDAsNjYzLy8pPDw5BAUBLi8sNDYxMjQwNjkzDBAKFiMPFCIOJzAkChAIFScPAgUBChIIFSMSFigSBA4CBBMBNDozCyYHAgkBBBgBFCcSCzQHAg8BHC8bBSMDBSoDAhMBBTEDBTgDAhcBAiEBAiUBAikBDA4MNjg2MjYyNDg0Njo2MjgyGi4aIjIiMjoyHDIcAgwCAi8BAjMBAjcBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACoAACwAAC4AADIAADQAADYAADoAGjIbIy8kAS8FATMFATgFAAwBASUFASoFASEFCxIMAzQLIzImAyYLJSonBy0WJTAqNTw7Ozw9JhQoJw8oKBMoP/o/5g8lEgkRJxMlLx0tGAwWFAgSKA4kGhAYIRAdMh0tDAQKCAAGGxQZHBEZGgwWMBoqJA4eNB4uDAEJDgAKMRcpNBwtKhgkLBomLhwoFAgQMhoqHAoWMREnDgIKGgoUFAoQJBIdLBgkDgQKHhIZLBokMB4oMx0pGxcZJyEkLyksCAQGGAwSIhAZMRglEgYMCAIFCAAEHAsTFAcNCgEFIhYbHhYZHhgaEwoNDQIFNjIzGRETCgQFCwAAAAAEAAQAAAI9gBHrUqUh4DBgwcdGQogMJEkhBAdHToUaGDBKh4yarxQYoOlhg9r9AhCckeRGSzsWEI08CEMJ06ePHHCgwSjUx9bjihyRYpPJyfKLMJpS6eLIVi0aLkiQwMZnKBWlWI0rB2RLVuwHKFyYFEpS55knQLEIYYWMFuAtMgVaVKtVYZWWbKE4IoYMEfcIEJUKhGqS3FXtTIQRYuRDm1u0bnjKdQlT5YED0rRQREyZdSomROgCe6qS61C6XM2J1o1den8BaD0OBZoPs6eBZCmjlu5ZC/2rJqDypIsQ+asBUDWbJu2cQE6C7sD6g+ma89e2PtG/V4AAYYCAgA7%22%7D%2C%20%0A%20%20%20%20%20%20%20%7B%20image%3A%20%22data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAAgICP///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjc0BAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBMjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMJA4gGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFPgACCwAAAAAEAAQAAAI1gCtIECQg4DBgwdxxHgnEEEIAgMRHIw4oyISLCEGfhoIEcFGBEhoDMwh8eCDkjhANiRJ4MFEg0EQcJkxMCNCiDBB0iTIsafEgVxkDMwgKqKoT0UH0kDCBkmNFT2iSpUKpIaXGF6QHDGChQYNLF291jCSBGsSJViKqKgj5MIFDBxcyCjrxYsSF9bQLaGV6tguVu+aeHHhJY0SGevQbZBFbBy2dO/q0D0rgxWwd+a2jft27t0ILwLKICl7rdS7VsKQIYMW2EsmDjJULCl2WR41auTmvVtiJyAAOw%3D%3D%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0Avar%20s%20%3D%20%22CB.AllSaveInOne.index%22%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0Aif%20%28%20%21custombuttons.isPref%28s%29%20%29%20custombuttons.setPrefs%28s%2C%20%220%22%29%3B%20%0Avar%20index%20%3D%20custombuttons.getPrefs%28s%29%3B%0Athis.image%20%3D%20this.buttonImage%5Bindex%5D.image%3B%0A%0A%0A%0Athis.ss%20%3D%20%5B%0A%20%20%20%20%7B%20label%3A%20%22Quick%20save%20as%20MHT%22%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22Save%20as%20MHT%22%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22Save%20all%20tabs%20as%20MHT%22%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22Save%20as%20HTML%20Complete%22%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22Save%20with%20Flashgot%22%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22Save%20Favicon%22%7D%0A%20%20%20%20%20%20%20%20%20%20%5D%0A%0Athis.mObj%20%3D%20custombuttons.getCbContextObj%28this%29%3B%0Athis.init%20%3D%20function%28x%29%20%7B%0A%20%20x.mObj.setSub%28%29%3B%0A%20%20var%20nItem%20%3D%20%7B%7D%2C%20mItem%20%3D%20%7B%7D%3B%0A%20%20document.getElementById%28CB2const.sCBCtxtMenu%29.setAttribute%28%22oncommand%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%20%20for%20%28%20var%20i%20in%20x.ss%20%29%20%7B%0A%20%20%20%20%20%20%20%20nItem%20%3D%20new%20x.mObj.getItem%28%29%3B%0A%20%20%20%20%20%20%20%20nItem.id%20%3D%20%27Note%27%3B%0A%20%20%20%20%20%20%20%20nItem.label%20%3D%20x.ss%5Bi%5D.label%3B%0A%20%20%20%20%20%20%20%20nItem.value%20%3D%20String%28i%29%3B%0A%20%20%20%20%20%20%20%20mItem%20%3D%20x.mObj.insertBefore%28nItem%20%2C%20x.mObj.oMenu.lastChild%29%3B%0A%20%20%20%20%20%20%20%20mItem.setAttribute%28%22oncommand%22%2C%20%22document.popupNode.setIndex%28this%29%22%29%3B%0A%20%20%20%20mItem.setAttribute%28%22type%22%2C%20%22radio%22%29%3B%0A%20%20%20%20if%20%28%20nItem.value%20%3D%3D%20index%20%29%20mItem.setAttribute%28%27checked%27%2C%20true%29%3B%0A%20%20%20%7D%3B%0A%20%20x.mObj.getItem%28%29%3B%0A%20%20nItem%20%3D%20x.mObj.getItem%28%29%3B%0A%20%20nItem.id%20%3D%20%27Note%27%3B%0A%20%20this.separator%20%3D%20x.mObj.insertBefore%28%20nItem%20%2C%20x.mObj.oMenu.lastChild%29%3B%0A%20%20%0A%7D%3B%0Athis.init%28this%29%3B%0A%0A%0A%0Athis.setIndex%20%3D%20function%28aNode%29%20%7B%0A%20%20%20%20var%20index%20%3D%20aNode.getAttribute%28%22value%22%29%3B%0A%20%20%20%20custombuttons.setPrefs%28s%2C%20index%29%3B%0A%20%20%20%20%20%20%20%20this.image%20%3D%20this.buttonImage%5Bindex%5D.image%3B%0A%7D%3B%0A%0A%0A%0Athis.onclick%20%3D%20function%28event%29%20%7B%0A%0A%20%20if%20%28%20event.button%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20var%20index%20%3D%20custombuttons.getPrefs%28s%29%3B%0A%20%20%20%20%20%20%20if%20%28%20index%20%3D%3D%200%20%29%20%7B%20UnMHTUIManager.quicksave%20%28false%29%20%7D%3B%0A%20%20%20%20%20%20%20if%20%28%20index%20%3D%3D%201%20%29%20%7B%20UnMHTUIManager.save%20%28false%29%20%7D%3B%0A%20%20%20%20%20%20%20if%20%28%20index%20%3D%3D%202%20%29%20%7B%20UnMHTUIManager.savemulti%20%28false%29%20%7D%3B%0A%20%20%20%20%20%20%20if%20%28%20index%20%3D%3D%203%20%29%20%7B%20saveDocument%28window.content.document%29%20%7D%3B%0A%20%20%20%20%20%20%20if%20%28%20index%20%3D%3D%204%20%29%20%7B%20gFlashGot.downloadSel%28%29%20%7C%7C%20gFlashGot.downloadAll%28%29%20%7D%3B%20%0A%20%20%20%20%20%20%20if%20%28%20index%20%3D%3D%205%20%29%20%7B%20saveImageURL%28gBrowser.mCurrentTab.image%2C%20%22save%22%2C%20null%2C%20false%2C%20false%2C%20null%2C%20content.document%29%20%7D%3B%0A%20%20%20%20%20%20%20%7D%0A%7D%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%5BNo%20help%20developed%20for%20%0A%3Clabel%3E%20button%0Acustombuttons-button%3Cid%3E.%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Инициализация:

Выделить код

Код:

this.buttonImage = [
       { image: "data:image/gif;base64,R0lGODdhDwAPAPcAAAAAAAAAAP///////wgEBBAEBBgAABgIBPToyCgoGPj48PT05BQUCODoyGyUDGyUKGywGGzMDGyUTGzMKEyUGGzoGBQsCEywGEzMDGywTChkEGzMTAgUBEzoGEzMKCyUDGzoTBRYCCzcDCywGAgsBBRwCBSUDBSwDAhUBCyUKBTQDBToDAhgBAhsBAh4BAiMBAicBAisBEyUTEywTEzMTCzcKEzoTAi4BAjMBAjYBAjkBAjwBAAIAAAQAAAYAAAoAAAwAABQAABYAABgAABoAABwAAB4AACIAACYAACgAACoAACwAAC4AADIAADQAADYAADgAADoAADwAACQBACwCAC4CADICADQCADYCADgCADoCADwCAToFAB4CACICACYCACgCACoCASwFATQFABYCABgCABoCABwCARsEAR4EASMFAScFABQCAzcKARgEAxwHARUECzoTAywKAAwCCzQTAxYHAyUKAAoCCywTCyUTAQsEAzoTAzQTAAYCAywTAyUTAwsHAAQCAQUEPD09AAICODo7AwMHAQEEAAACPDc9JhQoJhYnJxgnJhQmP/Y///g/6BUnJgkkEwESEgAQJgoiKAokKAgkCQEIKhYnGwgYJgghMx0vNyEzEgIPFgASGw0YJgogEwQQGggWNhwwKAkhGwUWFgQSOiA0HgQYEgAOBQEEHgYYPjY8FgIRCAAGKBYjGgwWFAEPFgAQMh4sIAwaNiIwNh4vNhwuOiIzOiAyHgwYMhwrGggUNiAvIQkZPjg8FgQQDAAILRYlHAgVKhokHg4YHggWHgUVMh4qIAwYNB0rNiIuOCEvDAIICgAGGg4VHhAYGgwUIgwZIwMWNh0rJQoZOiEvHA0VGxEWKhwjHhIYKhoiLh4mPjw9CAIFCAAELBsjLhskHg0VKwMWKx4jIwoUMwMWCgAEKwoWCgIFDAEFPTc5BgACLh4jHhEVMwoWOgYWIwMMKwMMOgMPCgUGMwMMPAEMPAAKOQEKPAIJPAAIIwoMOgUKKwoMMwoMOgoMCwAAAAADwAPAAAIrwBf5IAxoKDBgywIvMg3pWC+AQ8j5sv3YqFEiBghxsixcEq+bhEV5FMAMQmOhQQhipzo0CRKhxBBtsThIh9BkRgfasSBgqOjn0AdsXL06AVPHTeS3FhqZanTGzlY5MixIwaKqyyysnABI+rUHTy8ESAQCRWlZmNz9KQKxJQPH6e4LdNGwIdXtpIIHBrFDdm1ujl44KBKotXYUcRm/eWQQxGQFiQIGD6g6xMtdWNZBAQAOw=="},
       { image: "data:image/gif;base64,R0lGODlhEAAQAMQUAP8AAAD/AACZADPMM///zP///5nMmQAAAADMAABmAP/MzP/M/zNmADMAAJlmmWYzZgAzAMxmmZlmZmYzM////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAHoAxQALAAAAAAQABAAAAVlIECNYkkB6HiWpniqb/vOpMq6bl2bNC33sKBQFQioBANCYVkwHChG6AipZBoE0iyV2UTAolurdxSlJAaKhXphGJfNCEEiwUgI3LBEvHFwPA5jQRBxBwcREoBkMA4QEA0NDxMHCSEAOw=="},
       { image: "data:image/gif;base64,R0lGODlhEAAQALMNAP8AAP8AMwCZAMz/zP///2aZZgAAAADMAGbMZgBmADPMMwAzADMzM////wAAAAAAACH5BAHoAw0ALAAAAAAQABAAAARTsMlJ6wS34Q2w7NqmfZRokhnZeR46imP6xu0U2LjV3LvEVwLBIEAgBgYFA/AwDDiJiMPySY0ChVSolJJgFp0EgpV7UJgDZsVhO+keEosFg7HoSiIAOw=="},
       { image: "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICNjY2P///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjczBAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBNjg2MjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFCwAAAAAEAAQAAAI4ACxgLGxo4DBgwd1yICHJYENEQkiSkxgUEeCNzQSaIEYqkCCjhE9JlDSkCBFjwYpJogwMqNECB5hnhySwEuNBDV2nNxZceQbhxBTpoRJ08sMjRoSkAqllCkpUjdGulFiZs+Pq1h/APohxAYYGUuUJEGipYZZs1q02DCzRAaYJUy0HFlxhwgGHhk6vJjRVgkYJi+ufWpSaxUyZK7gPQHz4i2TGb1ccZhVjBwzdfDutAXzdwa7YPDOcSMHDh08EmAEnHkrAxvoV8OSJYumGMymQjNWNGFF79O8atXK0YPXJE9AADs="},
       { image: "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICP///////9DIyGBQUNjQ0JiAgLigoMCkpBAAAHRIRLAwIJhwaGhEPIw8LKwsEJBwaGBAOIRUSJBQQJw8JJBYSMCIeLgwCLAsBJB4cKCIgGBIQJBgUKBILLhIJKw4EKgoAJh4bJA8HJBYQNCMcKBQMJhMLLBQKIg4GOxUFLhQIKiYkIBgUBAIBNBYGKg4AOhQAPBQAMSMbNCYeJxMHNhcFLBMEOBgFPBkFPhwJP9gAP94KLywqIxMJLhQEPB4KPBwILhIAOBYAPBgALBIANhYAP9oAKiUhIRgRNRoFPB0EOhoAP9wAP94ENhoBOBoAP94AP94CMSYcNjQyPSEEPB4AP+AAPCEBP+IAP+QAPScIPSUEJyUiPCUBP+YAPSkEP+oAPCkBMDAsNjYzLy8pPDw5BAUBLi8sNDYxMjQwNjkzDBAKFiMPFCIOJzAkChAIFScPAgUBChIIFSMSFigSBA4CBBMBNDozCyYHAgkBBBgBFCcSCzQHAg8BHC8bBSMDBSoDAhMBBTEDBTgDAhcBAiEBAiUBAikBDA4MNjg2MjYyNDg0Njo2MjgyGi4aIjIiMjoyHDIcAgwCAi8BAjMBAjcBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACoAACwAAC4AADIAADQAADYAADoAGjIbIy8kAS8FATMFATgFAAwBASUFASoFASEFCxIMAzQLIzImAyYLJSonBy0WJTAqNTw7Ozw9JhQoJw8oKBMoP/o/5g8lEgkRJxMlLx0tGAwWFAgSKA4kGhAYIRAdMh0tDAQKCAAGGxQZHBEZGgwWMBoqJA4eNB4uDAEJDgAKMRcpNBwtKhgkLBomLhwoFAgQMhoqHAoWMREnDgIKGgoUFAoQJBIdLBgkDgQKHhIZLBokMB4oMx0pGxcZJyEkLyksCAQGGAwSIhAZMRglEgYMCAIFCAAEHAsTFAcNCgEFIhYbHhYZHhgaEwoNDQIFNjIzGRETCgQFCwAAAAAEAAQAAAI9gBHrUqUh4DBgwcdGQogMJEkhBAdHToUaGDBKh4yarxQYoOlhg9r9AhCckeRGSzsWEI08CEMJ06ePHHCgwSjUx9bjihyRYpPJyfKLMJpS6eLIVi0aLkiQwMZnKBWlWI0rB2RLVuwHKFyYFEpS55knQLEIYYWMFuAtMgVaVKtVYZWWbKE4IoYMEfcIEJUKhGqS3FXtTIQRYuRDm1u0bnjKdQlT5YED0rRQREyZdSomROgCe6qS61C6XM2J1o1den8BaD0OBZoPs6eBZCmjlu5ZC/2rJqDypIsQ+asBUDWbJu2cQE6C7sD6g+ma89e2PtG/V4AAYYCAgA7"}, 
       { image: "data:image/gif;base64,R0lGODdhEAAQAPcAAAAAAAAAAAgICP///////yAQEPjs7OwECPgIBBAAAP8AAPAUCOAsFMRcLBAIBPj47PDw1AgIANjc0BAUCLTEpDBAINjszDBAKDBIJNDczChAIAgUBBg8DChIIJzElBA4CAgwANDszCyYHAgkBBRgDAhIAJDEjHDIaBBADCzQHAg8BHC8bBSMDBSoDAhQBBTEDBTgDAhcBAhoBAiEBAiUBAikBMjYyChAKNjo2MjgyChIKIjAiGi4aIjIiBg4GMjoyHDIcNjw2BhAGBA4EAgwCAhICAiwBAi8BAjMBAjcBAjoBAAIAAAQAAAYAAAgAAAoAAA4AABQAABYAABgAABoAACAAACIAACQAACYAACgAACwAAC4AADABADIAADQAADYAADgBADoAGjAbGjIbACoBACwCAC4CADICADQCADYCADoCABABABIBACACACICACQCACYCACgCAS8FATMFATgFAAwBABYCABgCABoCGi4cMjwzASUFASoFABQCIjIkASEFIjAkAzQLAA4CBA8GARgFAAoCAyYLARMFMjo0AAgCIzEnAQ8FMjg0AAYCMzs2By0WMjY0AAQCJTEtMzc2AQUEOzw8AAICKTE4AAACJhQoJhIoJw8oGA8YBAIEKBMoPjw+DAQMBAAEP/o/5g8lKA4mDAELEgkRJxMlJQ8iKBAlDgAMGg4YDAYLGAwWFAgSKA4kDgIMJA4gGhAYFAoSGAoVMh4uMxsuDgQMKhgmLhwqLhopJBAfDgYMGgoWMhosDAQKCAAGGgwWMBoqJA4eNB4uDgAKLBgmJg8fKholKhgkLBomLh4pGAwUJhMgLhwoMB4qFAgQMhwrKA8gMhoqHAoWEgYOCAIGDgIKMBwpMBooGgoUMx4rNBsrGQ8VFAoQLBgkDgQKGgwULBokMB4oHAwVHAoUHA8WFgsRCAQGGAwSEggNDgYKGAoREgYMFwcPAgABBAACCAAEFAcNCgEFEwoNGAwQCAIEDQIFOAcRFwsNCgQFKgcLPAMIPgEENQMFPgACCwAAAAAEAAQAAAI1gCtIECQg4DBgwdxxHgnEEEIAgMRHIw4oyISLCEGfhoIEcFGBEhoDMwh8eCDkjhANiRJ4MFEg0EQcJkxMCNCiDBB0iTIsafEgVxkDMwgKqKoT0UH0kDCBkmNFT2iSpUKpIaXGF6QHDGChQYNLF291jCSBGsSJViKqKgj5MIFDBxcyCjrxYsSF9bQLaGV6tguVu+aeHHhJY0SGevQbZBFbBy2dO/q0D0rgxWwd+a2jft27t0ILwLKICl7rdS7VsKQIYMW2EsmDjJULCl2WR41auTmvVtiJyAAOw=="},
                    ]
                    
                    
                                   
var s = "CB.AllSaveInOne.index";                   
if ( !custombuttons.isPref(s) ) custombuttons.setPrefs(s, "0"); 
var index = custombuttons.getPrefs(s);
this.image = this.buttonImage[index].image;



this.ss = [
    { label: "Quick save as MHT"},
    { label: "Save as MHT"},
    { label: "Save all tabs as MHT"},
    { label: "Save as HTML Complete"},
    { label: "Save with Flashgot"},
    { label: "Save Favicon"}
          ]

this.mObj = custombuttons.getCbContextObj(this);
this.init = function(x) {
  x.mObj.setSub();
  var nItem = {}, mItem = {};
  document.getElementById(CB2const.sCBCtxtMenu).setAttribute("oncommand", "event.stopPropagation()");
  for ( var i in x.ss ) {
        nItem = new x.mObj.getItem();
        nItem.id = 'Note';
        nItem.label = x.ss[i].label;
        nItem.value = String(i);
        mItem = x.mObj.insertBefore(nItem , x.mObj.oMenu.lastChild);
        mItem.setAttribute("oncommand", "document.popupNode.setIndex(this)");
    mItem.setAttribute("type", "radio");
    if ( nItem.value == index ) mItem.setAttribute('checked', true);
   };
  x.mObj.getItem();
  nItem = x.mObj.getItem();
  nItem.id = 'Note';
  this.separator = x.mObj.insertBefore( nItem , x.mObj.oMenu.lastChild);
  
};
this.init(this);



this.setIndex = function(aNode) {
    var index = aNode.getAttribute("value");
    custombuttons.setPrefs(s, index);
        this.image = this.buttonImage[index].image;
};



this.onclick = function(event) {

  if ( event.button == 0 ) {
       var index = custombuttons.getPrefs(s);
       if ( index == 0 ) { UnMHTUIManager.quicksave (false) };
       if ( index == 1 ) { UnMHTUIManager.save (false) };
       if ( index == 2 ) { UnMHTUIManager.savemulti (false) };
       if ( index == 3 ) { saveDocument(window.content.document) };
       if ( index == 4 ) { gFlashGot.downloadSel() || gFlashGot.downloadAll() }; 
       if ( index == 5 ) { saveImageURL(gBrowser.mCurrentTab.image, "save", null, false, false, null, content.document) };
       }
};

bunda1 спасибо за помощь, работают все пункты за исключением Save as mht - сохраняет как mht используя диалог сохранения. это можно поправить?

Pippo78 пишет

bunda1 спасибо за помощь, работают все пункты за исключением Save as mht - сохраняет как mht используя диалог сохранения. это можно поправить?

Я проверил и у меня Save as mht работает. Может у тебя в настройках mht что то не правильно настроено.

bunda1 спасибо, действительно это у меня косяк.

Может у тебя в настройках mht что то не правильно настроено

А где это можно посмотреть подскажи.

Я имел виду настройки расширения UnMHT.