wvxwxvw
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору В инициилизацию. Пути свои проставьте/добавьте, в конце можно добавлять ключ (пример есть). Код: // Открыть страницу в другой программе из контекстного меню, от 26.10.2016. ............. (()=> { var array = [ ["Internet explorer", "C:\\Program Files\\Internet Explorer\\iexplore.exe", ""], ["USDownloader", "C:\\...\\USDownloader\\USDownloader.exe", ""], ["Download Master", "C:\\...\\Download.Master\\dmaster.exe", ""], ["PotPlayer", "C:\\...\\PotPlayer\\PotPlayerMini.exe", ""], ["PotPlayer Add", "C:\\...\\PotPlayer\\PotPlayerMini.exe", "/add"], ] var tabContextMenu = document.getElementById("tabContextMenu"); var menu1 = tabContextMenu.appendChild(document.createElement("menu")); menu1.setAttribute("label", "Открыть вкладку в ... "); menu1.setAttribute("class", "menu-iconic"); menu1.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkJP8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/+ysrL/5OTk/+Pj4//i4uL/4eHh/97e3nAAAAAAAAAAAAAAAAAVFRX/FRUV/xUVFf8VFRX/FRUV/xUVFf8VFRX/tbW1/+jo6P/n5+f/5+fn/+bm5v/l5eX/3t7ecAAAAAAAAAAAGBgY/xgYGP8YGBj/GBgY/xgYGP8YGBj/GBgY/7a2tv/p6en/6Ojo/+fn5//m5ub/5ubm/97e3v8AAAAAAAAAABsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/+3t7f/6urq/+np6f/o6Oj/5+fn/+fn5//e3t7/AAAAAAAAAAAeHh7/Hh4e/x4eHv8eHh7/Hh4e/x4eHv8eHh7/uLi4/+rq6v/p6en/6enp/+jo6P/n5+f/39/f/wAAAAAAAAAAISEh/yEhIf8hISH/ISEh/yEhIf8hISH/ISEh/7m5uf/r6+v/6urq/+rq6v/p6en/6Ojo/+Dg4P8AAAAAAAAAACEhIf8hISH/ISEh/yEhIf8hISH/ISEh/yEhIf+Wlpb/u7u7/7u7u/+6urr/ubm5/7m5uf+zs7P/AAAAAAAAAAC9vb3/v7+//7+/v/++vr7/vr6+/729vf+Wlpb/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/wAAAAAAAAAA7+/v//Pz8//y8vL/8fHx//Hx8f/w8PD/vb29/ywsLP8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8AAAAAAAAAAPDw8P/09PT/8/Pz//Ly8v/x8fH/8fHx/729vf8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//AAAAAAAAAADx8fH/9PT0//T09P/z8/P/8vLy//Hx8f+/v7//MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/wAAAAAAAAAA8vLy//X19f/09PT/9PT0//Pz8//y8vL/wMDA/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf8AAAAAAAAAAN7e3nD29vb/9fX1//T09P/09PT/8/Pz/8HBwf84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP83Nzf/AAAAAAAAAAAAAAAA3t7ecPPz8//y8vL/8vLy//Hx8f/BwcH/ODg4/zk5Of85OTn/OTk5/zk5Of84ODj/Pj4+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAIADAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAADAAQAA//8AAA=="); addEventListener("popupshowing", e=> { menu1.hidden = !e.target.triggerNode.linkedBrowser.currentURI.scheme.startsWith("http"); }, false, tabContextMenu); addDestructor(()=> menu1.remove()); setMenupopup(menu1); var contextMenu = document.getElementById("contentAreaContextMenu"); var menu2 = contextMenu.appendChild(document.createElement("menu")); menu2.setAttribute("label", "Открыть ссылку в ... "); menu2.setAttribute("class", "menu-iconic"); menu2.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkJP8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/+ysrL/5OTk/+Pj4//i4uL/4eHh/97e3nAAAAAAAAAAAAAAAAAVFRX/FRUV/xUVFf8VFRX/FRUV/xUVFf8VFRX/tbW1/+jo6P/n5+f/5+fn/+bm5v/l5eX/3t7ecAAAAAAAAAAAGBgY/xgYGP8YGBj/GBgY/xgYGP8YGBj/GBgY/7a2tv/p6en/6Ojo/+fn5//m5ub/5ubm/97e3v8AAAAAAAAAABsbG/8bGxv/Gxsb/xsbG/8bGxv/Gxsb/xsbG/+3t7f/6urq/+np6f/o6Oj/5+fn/+fn5//e3t7/AAAAAAAAAAAeHh7/Hh4e/x4eHv8eHh7/Hh4e/x4eHv8eHh7/uLi4/+rq6v/p6en/6enp/+jo6P/n5+f/39/f/wAAAAAAAAAAISEh/yEhIf8hISH/ISEh/yEhIf8hISH/ISEh/7m5uf/r6+v/6urq/+rq6v/p6en/6Ojo/+Dg4P8AAAAAAAAAACEhIf8hISH/ISEh/yEhIf8hISH/ISEh/yEhIf+Wlpb/u7u7/7u7u/+6urr/ubm5/7m5uf+zs7P/AAAAAAAAAAC9vb3/v7+//7+/v/++vr7/vr6+/729vf+Wlpb/KCgo/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/wAAAAAAAAAA7+/v//Pz8//y8vL/8fHx//Hx8f/w8PD/vb29/ywsLP8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8AAAAAAAAAAPDw8P/09PT/8/Pz//Ly8v/x8fH/8fHx/729vf8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//AAAAAAAAAADx8fH/9PT0//T09P/z8/P/8vLy//Hx8f+/v7//MjIy/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/wAAAAAAAAAA8vLy//X19f/09PT/9PT0//Pz8//y8vL/wMDA/zU1Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf8AAAAAAAAAAN7e3nD29vb/9fX1//T09P/09PT/8/Pz/8HBwf84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP83Nzf/AAAAAAAAAAAAAAAA3t7ecPPz8//y8vL/8vLy//Hx8f/BwcH/ODg4/zk5Of85OTn/OTk5/zk5Of84ODj/Pj4+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAIADAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAADAAQAA//8AAA=="); addEventListener("popupshowing", ()=> menu2.hidden = !gContextMenu.onLink, false, contextMenu); addDestructor(()=> menu2.remove()); setMenupopup(menu2); function setMenupopup(menu) { var menuPopup = menu.appendChild(document.createElement("menupopup")); array.forEach(m=> { var mItem = document.createElement("menuitem"); mItem.setAttribute("label", m[0]); mItem.setAttribute("class", "menuitem-iconic"); mItem.setAttribute("image", "moz-icon://file://" + m[1]); mItem.onclick =()=> openWith(m[1], m[2]); menuPopup.appendChild(mItem); }) }; function openWith(path, arg) { try { var url = gContextMenu.getLinkURL() } catch(e) { var loc = content.document.location; var url = (loc.host.slice(-3) == '.рф') ? Services.io.newURI(loc.href, null, null).asciiSpec : loc; }; var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath(path); var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(file); process.run(false, [url, arg], 2); }; })(); | | Всего записей: 5677 | Зарегистр. 02-04-2015 | Отправлено: 19:22 09-04-2017 | Исправлено: wvxwxvw, 19:25 09-04-2017 |
|