1. При перемещении выделенного текста, искать его в новой вкладке, с помощью текущего поисковика.
2. При перемещении изображения, сохранять его в папку ~/Загрузки/
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%3ECB%20drag%20and%20go%20%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiivX/bJjz/2yX8/9sl/P/bJfz/2yX8/9kjfbnVn35RPyLo0T8oLHn/au6//6puf/+qbn//qm5//6quv/8ma3/bpj0/4e57P+Cte3/grXt/4K17P+Etu3/c6Hz51R9+0T/jKRE/7TC5//O1P//ztT//87U///O1P//0db//qq6/2yW9v9/sPH/d6vw/3ir8P94q/H/e63x/3Ke9udUfftE/4ujRP6wwOf/xc///8PN///Dzf//w83//8fQ//6ouP9tlPj/ear1/22i9P9uovP/bqLz/3Om9P9znfjnVH37RP+Lo0T/rr7n/7zK//+5x///ucf//7nH///AzP/+pbf/bZT5/3Sk9/9kmvf/ZZr2/2Wa9v9rn/f/c5z551R9+0T/i6NE/6u+5/+0xf//sML//7DC//+xwv//ucj//qO3/3CV+v94pfr/Z5n6/2eZ+v9nmfr/b5/7/3ed++dWfvtE/oykRP6sv+f+scX//63B//+twf//rcH//7bJ//6kuP9zlfrnfaH753ie++d4nvvneJ7753uf++d4mvrRaYz4PfuYrT38p7rR/q2/5/+svuf+rL7n/qu+5/+uwef9orbnZ4j4RFZ9+URVfflEVX35RFV9+URYfvlEaoz4PX+c9hL5p7cS+5itPf6MpET/i6RE/4ukRP+LpET/i6RE/JWrRAeqiUQHqohEB6qIRAeqiEQHqYhEB6mJRAiqiz0JqosS1qx5Etypaz3gpWBE4aVfROGlX0ThpV9E4aVfRNynaEQqt53nVcez51LHsudSx7LnUsay51PGs+c1u6TRCKqMPdypaz3nuHzR8MKE5/HCg+fxwoPn8cKD5/HDhefltHbnQL6p/4TYzv991sr/fdbK/33Wyv9/1sz/U8Wz5wepi0TgpWBE8MOG5/3Vmv/+1Jj//tSY//7UmP/+1p3/7bt8/z69qP9608f/btDC/27Qwv9u0ML/c9HE/1DEsOcHqItE4KVfRPDChef+0ZT//9CR///Qkf//0JH//9SY/+27fP89vKf/cc/B/2LKu/9jyrv/Y8q7/2nMvv9Pwq/nB6iKROClX0TwwYbn/s6P///Miv//zIv//8yK///Rlf/tunz/Pbyl/2fKu/9Uw7L/VMOz/1TDs/9dxrb/TsGt5wioikTgpF9E8MGG5/7Kif//yIP//8iD///Hg///zpH/7bp9/0K9pv93zsD/Zci4/2XIuP9lyLj/bcq8/1XDr+cIqItE4KVfRPDEjOf+0Jb//86Q//7OkP/+zZD//9Oc/+28gf83uaL/Rb6o/0G8pv9BvKb/Qbym/0K8pv87uqPnHrCVROKtb0TouH/n7byB/+27gP/tu4D/7buA/+29g//nt37/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Blocation%20%3D%3D%20%22chrome%3A//browser/content/browser.xul%22%20%26%26%20%28function%28event%29%20%7B%20%20%0A%20%20%20%20%20%20%20%20var%20self%20%3D%20arguments.callee%3B%20%0A%20%20%20%20%20%20%20%20if%20%28%20%21event%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%5B%22dragstart%22%2C%20%22dragover%22%2C%20%22drop%22%5D.forEach%28function%28type%29%20%7B%20gBrowser.mPanelContainer.addEventListener%28type%2C%20self%2C%20false%29%20%7D%29%3B%0A%09%20%20%20%20%20%0A%09%20%20%20%20%20addDestructor%28function%28%29%20%7B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B%22dragstart%22%2C%20%22dragover%22%2C%20%22drop%22%5D.forEach%28function%28type%29%20%7B%20gBrowser.mPanelContainer.removeEventListener%28type%2C%20self%2C%20false%29%20%7D%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%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%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20switch%20%28event.type%29%20%7B%0A%20%20%20%20%20%20%20%20case%20%22dragstart%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self.startPoint%20%3D%20%5Bevent.screenX%2C%20event.screenY%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self.sourceNode%20%3D%20event.target%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.target.localName%20%3D%3D%20%22img%22%20%26%26%20event.dataTransfer.setData%28%22application/x-moz-file-promise-url%22%2C%20event.target.src%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20case%20%22dragover%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self.startPoint%20%26%26%20%28Components.classes%5B%22@mozilla.org/widget/dragservice%3B1%22%5D.getService%28Components.interfaces.nsIDragService%29.getCurrentSession%28%29.canDrop%20%3D%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20case%20%22drop%22%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28self.startPoint%20%26%26%20event.target.localName%20%21%3D%20%22textarea%22%20%26%26%20%28%21%28event.target.localName%20%3D%3D%20%22input%22%20%26%26%20%28event.target.type%20%3D%3D%20%22text%22%20%7C%7C%20event.target.type%20%3D%3D%20%22password%22%29%29%29%20%26%26%20event.target.contentEditable%20%21%3D%20%22true%22%29%20%7B%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%20event.preventDefault%28%29%3B%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%20event.stopPropagation%28%29%3B%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%20var%20%5BsubX%2C%20subY%5D%20%3D%20%5Bevent.screenX%20-%20self.startPoint%5B0%5D%2C%20event.screenY%20-%20self.startPoint%5B1%5D%5D%3B%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%20var%20%5BdistX%2C%20distY%5D%20%3D%20%5B%28subX%20%3E%200%20%3F%20subX%20%3A%20%28-subX%29%29%2C%20%28subY%20%3E%200%20%3F%20subY%20%3A%20%28-subY%29%29%5D%3B%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%20var%20direction%3B%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%20var%20t%20%3D%20content.getSelection%28%29.toString%28%29%3B%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%20if%20%28distX%20%3E%20distY%29%20direction%20%3D%20subX%20%3C%200%20%3F%20%22L%22%20%3A%20%22R%22%3B%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%20else%20direction%20%3D%20subY%20%3C%200%20%3F%20%22U%22%20%3A%20%22D%22%3B%20%20%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%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%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%u0421%u0441%u044B%u043B%u043A%u0438%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%20if%20%28%20event.dataTransfer.types.contains%28%22text/x-moz-url%22%29%29%20%7B%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%20%20if%20%28%20direction%20%3D%3D%20%22U%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0441%u0441%u044B%u043B%u043A%u0443%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0430%u043A%u0442%u0438%u0432%u043D%u043E%u0439%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%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%20%20%20%20%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28event.dataTransfer.getData%28%22text/x-moz-url%22%29.split%28%22%5Cn%22%29%5B0%5D%29%3B%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%20%20%20%20%20%20%20return%3B%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%20%20%20%20%20%20%20%7D%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%20%20if%20%28%20direction%20%3D%3D%20%22D%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0441%u0441%u044B%u043B%u043A%u0443%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0444%u043E%u043D%u043E%u0432%u043E%u0439%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%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%20%20%20%20%20%20%20gBrowser.addTab%28event.dataTransfer.getData%28%22text/x-moz-url%22%29.split%28%22%5Cn%22%29%5B0%5D%29%3B%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%20%20%20%20%20%20%20return%3B%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%20%20%20%20%20%20%20%7D%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%7D%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%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%u0418%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u044F%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%20if%20%28%20event.dataTransfer.types.contains%28%22application/x-moz-file-promise-url%22%29%29%20%7B%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%20%20if%20%28%20direction%20%3D%3D%20%22U%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0430%u043A%u0442%u0438%u0432%u043D%u043E%u0439%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%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%20%20%20%20%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28event.dataTransfer.getData%28%22application/x-moz-file-promise-url%22%29.split%28%22%5Cn%22%29%5B0%5D%29%3B%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%20%20%20%20%20%20%20return%3B%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%20%20%20%20%20%20%20%7D%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%20%20if%20%28%20direction%20%3D%3D%20%22D%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0444%u043E%u043D%u043E%u0432%u043E%u0439%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%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%20%20%20%20%20%20%20gBrowser.addTab%28event.dataTransfer.getData%28%22application/x-moz-file-promise-url%22%29.split%28%22%5Cn%22%29%5B0%5D%29%3B%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%20%20%20%20%20%20%20return%3B%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%20%20%20%20%20%20%20%7D%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%20%20if%20%28%20direction%20%3D%3D%20%22L%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u0441%u043E%u0445%u0440%u0430%u043D%u0438%u0442%u044C%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%20%u0438%u043B%u0438%20%u0441%u0441%u044B%u043B%u043A%u0443%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%20%20%20%20%20%20%20saveImageURL%28event.dataTransfer.getData%28%22application/x-moz-file-promise-url%22%29%29%3B%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%20%20%20%20%20%20%20return%3B%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%20%20%20%20%20%20%20%7D%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%20%20if%20%28%20direction%20%3D%3D%20%22R%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u0441%u043E%u0445%u0440%u0430%u043D%u0438%u0442%u044C%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%20%u0438%u043B%u0438%20%u0441%u0441%u044B%u043B%u043A%u0443%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%20%u043D%u0430%20%u043C%u0435%u0441%u0442%u043E%20%u0441%u043E%u0445%u0440%u0430%u043D%u0435%u043D%u0438%u044F%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%20%20%20%20%20%20%20saveImageURL%28event.dataTransfer.getData%28%22application/x-moz-file-promise-url%22%29%2C%200%2C%200%2C%200%2C%201%2C%20null%2C%20content.document%29%3B%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%20%20%20%20%20%20%20return%3B%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%20%20%20%20%20%20%20%7D%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%20%20%7D%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%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%u0412%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%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%20if%20%28%20event.dataTransfer.getData%28%22text/unicode%22%29%20%29%20%7B%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%20%20var%20sel%20%3D%20event.dataTransfer.getData%28%22text/unicode%22%29%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%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%20%20if%20%28%20direction%20%3D%3D%20%22U%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u043F%u043E%u0438%u0441%u043A%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u0442%u0435%u043A%u0443%u0449%u0435%u043C%20%u043F%u043E%u0438%u0441%u043A%u043E%u0432%u0438%u043A%u0435%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0430%u043A%u0442%u0438%u0432%u043D%u043E%u0439%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%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%20%20%20%20%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%22http%3A//www.google.com/search%3Fq%3D%22%20+%20sel%20%29%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%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%20return%3B%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%20%20%20%20%20%20%20%7D%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%20%20if%20%28%20direction%20%3D%3D%20%22D%22%29%20%7B%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%20%20%20%20%20%20%20//%20%u043F%u043E%u0438%u0441%u043A%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u0442%u0435%u043A%u0443%u0449%u0435%u043C%20%u043F%u043E%u0438%u0441%u043A%u043E%u0432%u0438%u043A%u0435%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0444%u043E%u043D%u043E%u0432%u043E%u0439%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%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%20%20%20%20%20%20%20gBrowser.addTab%28%22http%3A//www.google.com/search%3Fq%3D%22%20+%20sel%20%29%3B%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%20%20%20%20%20%20%20return%3B%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%20%20%20%20%20%20%20%7D%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%20%20%20if%20%28%20direction%20%3D%3D%20%22L%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0435%20%u0441%u0441%u044B%u043B%u043A%u0438%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%20%20%20%20%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%20sel%20%29%3B%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%20%20%20%20%20%20%20return%3B%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%20%20%20%20%20%20%20%7D%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%20%20if%20%28%20direction%20%3D%3D%20%22R%22%20%29%20%7B%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%20%20%20%20%20%20%20//%20%u043F%u043E%u0438%u0441%u043A%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u0438%u0437%u0431%u0440%u0430%u043D%u043D%u043E%u043C%20%u043F%u043E%u0438%u0441%u043A%u043E%u0432%u0438%u043A%u0435%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%20%20%20%20%20%20%20var%20sel%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29.toString%28%29%3B%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%20%20%20%20%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%20event.dataTransfer.getData%28%22text/unicode%22%29%20%29%3B%20%20%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%20%20%20%20%20%20%20%7D%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%20%20%7D%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%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%20self.startPoint%20%3D%200%3B%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%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%7D%29%28%29%3B%0A%0A%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u043A%u043D%u043E%u043F%u043A%u0438%20............................................................................%0Athis.tooltipText%20%3D%20%22CB%20drag%20and%20go%20%5Cn%u0417%u0430%u043F%u0443%u0441%u043A%u0430%u0435%u0442%20%u0436%u0435%u0441%u0442%u0438%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u041B%u041A%u041C%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%5Cn%u041B%3A%20%u0420%u0435%u0434%u0430%u043A%u0442%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u044D%u0442%u0443%20%u043A%u043D%u043E%u043F%u043A%u0443%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B//%20%u0420%u0435%u0434%u0430%u043A%u0442%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u044D%u0442%u0443%20%u043A%u043D%u043E%u043F%u043A%u0443%20....%0Acustombuttons.editButton%28%20document.getElementById%28%20this.id%20%29%20%20%29%3B%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
Жесты можно в кнопке посмотреть, изображения можно сохранять без запроса в папке Загрузки без подпапок с датой. Подпапки тоже можно прикрутить но мне нет на это времени.
Отредактировано bunda1 (13-10-2013 12:49:47)
Отсутствует
bunda1 я использую этот ваш код для значка с ID "identity-box" в левой части адресной строки.
document.getElementById('identity-box'). onmousedown = function(e){ // действие при клике ПКМ .... if ( e.button == 2 && e.ctrlKey) { e.preventDefault(); // действие } };
Я не могу избавиться от дефолтного действия — выскакивает контекстное меню, если e.button == 2, или попап насчёт подлинности сайта, если e.button == 0.
preventDefault() не помогает.
Что надо сделать?
Отредактировано Ferguss114 (13-10-2013 13:19:34)
Отсутствует
bunda1, вместо того что бы искать выдаёт
Формат адреса неверен
URL недействителен и не может быть загружен.
Адреса веб-сайтов обычно записываются в формате http://www.example.com/
Убедитесь, что вы используете в качестве разделителя прямую косую черту (т.е. /).
Похоже пытается выделенный текст использовать в качестве адреса.
Браузер должен сам решать свои проблемы, а не возлагать их на пользователей. Minor
Отсутствует
Перестала работать связка расширений для сохранения изображений QuickDrag+Download sort.
Отсутствует
Pony_Smile_Pack, Недоступно для Firefox 24.0
Поставил с китайского сайта. Эффект тот же, что и от QuickDrag+Download sort. Изображения в папку с датой не сохраняет.
Отредактировано W@ld_Lii (13-10-2013 13:56:45)
Браузер должен сам решать свои проблемы, а не возлагать их на пользователей. Minor
Отсутствует
bunda1 я использую этот ваш код для значка с ID "identity-box" в левой части адресной строки.
Я не могу избавиться от дефолтного действия — выскакивает контекстное меню, если e.button == 2, или попап насчёт подлинности сайта, если e.button == 0.
preventDefault() не помогает.
Что надо сделать?
Вот рабочий пример:
// Дополнительные возможности для значка идентификации сайта в строке адреса ................................ addEventListener("click", function(e) { e.preventDefault(); e.stopPropagation(); // ЛКМ без запроса открывает информацию о странице в вкладке 'Разрешения' .... if ( e.button == 0 ) { var doc = content.document; BrowserPageInfo( doc, ( (doc.location.protocol).slice(0,4) == "http") ? "permTab" : "generalTab" ); } // ПКМ копирует текущий адрес .... if ( e.button == 2) { gClipboard.write( content.location ); // значок идентификации сайта мигает красным .... document.getElementById("identity-box").style.background = "red"; setTimeout(function() { document.getElementById("identity-box").style.background = "" }, 500); } }, true, document.getElementById("identity-box") );
Добавлено 13-10-2013 14:05:55
bunda1, вместо того что бы искать выдаёт
Похоже пытается выделенный текст использовать в качестве адреса.
// Выделенный текст .... if ( direction == "U" ) { // поиск текста в текущем поисковике в новой активной странице gBrowser.selectedTab = gBrowser.addTab("http://www.google.com/search?q=" + sel ); if ( direction == "D") { // поиск текста в текущем поисковике в новой фоновой странице gBrowser.addTab("http://www.google.com/search?q=" + sel );
Добавлено 13-10-2013 14:09:39
Хотя да, в кнопке есть некоторые ошибки - ищет только в гугле и тп.
Отредактировано bunda1 (13-10-2013 14:09:58)
Отсутствует
Отсутствует
Не на повторном клике а на двойном правом клике. Мне кажется так лучше чем нажимать CTRL+SHIFT+ALT+средняя !
господа не надо извращаться с комбинациями. простота - залог удобства и юзабельности.
я хочу спрятать как можно дальше редактирование кнопки, чтобы обычный пользователь даже не знал что их можно редактировать или случайно удалить.
мояб воля я бы вообще убрал меню редактирования. (это в финальный релиз когда уже буду выкладывать готовое)
то что я делаю является своего рода стационарным приложением
Отредактировано lmiol (13-10-2013 15:22:59)
Отсутствует
Есть возможность как-то закрыть вкладку принудительно? То есть не стандартная функция по кнопке Закрыть, а что-то типа завершение процесса?
Отсутствует
я хочу спрятать как можно дальше редактирование кнопки, чтобы обычный пользователь даже не знал что их можно редактировать или случайно удалить.
Можно заблокировать редактирование для всех кнопок кроме той где это код. Хотя если отключить инициализацию кнопок в настройках Custom Buttons это не поможет
addEventListener("popupshowing", function(e) { var targ = e.target; if ( targ.id == 'custombuttons-contextpopup' && targ.triggerNode == null || targ.triggerNode.id !== _id ) { e.preventDefault(); e.stopPropagation(); } }, true );
Добавлено 13-10-2013 16:20:41
Есть возможность как-то закрыть вкладку принудительно? То есть не стандартная функция по кнопке Закрыть, а что-то типа завершение процесса?
А в чём проблема?
Отредактировано bunda1 (13-10-2013 16:22:16)
Отсутствует
А в чём проблема?
В запросах "Вы действительно хотите выйти?" и в том, что для их блокирования нужно копать справочник, даже на википедии при редактировании это есть. Вот вместо блокирование всех событий хотелось бы моментальное принудительное закрытие вкладки.
Отсутствует
В запросах "Вы действительно хотите выйти?" и в том, что для их блокирования нужно копать справочник, даже на википедии при редактировании это есть. Вот вместо блокирование всех событий хотелось бы моментальное принудительное закрытие вкладки.
Вот пример как это решить:
// Блокировать предупреждение при закрытии вкладки translit.ru ................................ addEventListener('beforeunload', function(e) { if ( e.target.location.host == 'translit.ru' ) e.stopPropagation(); }, true, gBrowser );
Отсутствует
Можно заблокировать редактирование для всех кнопок кроме той где это код. Хотя если отключить инициализацию кнопок в настройках Custom Buttons это не поможет
Выделить кодКод:
addEventListener("popupshowing", function(e) { var targ = e.target; if ( targ.id == 'custombuttons-contextpopup' && targ.triggerNode == null || targ.triggerNode.id !== _id ) { e.preventDefault(); e.stopPropagation(); } }, true );
код помог заблокировал вооще везде даже там где вписывал код
спс, но теперь даже не знаю как вернуть
ща в профиле поищу данные об этой кнопке и там исправлю
уже нашел тем более там есть дампы
Отредактировано lmiol (13-10-2013 17:24:03)
Отсутствует
Вот пример как это решить:
А это то? Если это именно блокирование события, а не принудительное закрытие, то нет. Потому что у меня был похожий скрипт и там не одно событие и не два, которые позволяют показывать такой диалог. То есть кроме beforeunload есть еще.
Отсутствует
код помог заблокировал вооще везде даже там где вписывал код
Странно у меня работает
спс, но теперь даже не знаю как вернуть
Oтключить инициализацию кнопок в настройках Custom Buttons + рестарт.
Добавлено 13-10-2013 17:34:46
А это то? Если это именно блокирование события, а не принудительное закрытие, то нет. Потому что у меня был похожий скрипт и там не одно событие и не два, которые позволяют показывать такой диалог. То есть кроме beforeunload есть еще.
Можно проверить, в код вместо 'translit.ru' напиши 'ru.wikipedia.org' или что там у тебя можно узнать с:
Отредактировано bunda1 (13-10-2013 17:34:46)
Отсутствует
lmiol пишет: правда не совсем разобрался если добавляю в код - то открывается на CTRL+ЛКМ (а должна просто на правую)
скрытый текстВыделить кодКод:
this.pref = 'network.proxy.type'; this.setState = function() { var state = cbu.getPrefs( this.pref ); if ( state==0 ) { this.image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAADJ0lEQVQ4T1WTaUiUURSG7+comi0/+pWFSQu0mXsuk+mMoo5LamSSFUYgSbSQZEWFhhGkA1Y6bZYRtIBUQiUVWVSY2oil5owLCM7iNmNOk/OvVN7OuZTQB5dv5rv3fc457zlXmZiYEP8eRVHEAl9f8WvmV7NK5RPgmPwuZn7PCG8f74klixcFLPT3z5+bmxuYnZ1VvOgBMCfGx8e9RkdHFQIpHs9Pv4cNj/GxtQ0WqwUJWTuwbGM4gkKicbKsAs+bXsHpdKomJycFafxIq/APlcPhUFwul19ldQ3Uumy0GI2ouKTH8uBI5B8oxrEz5VgRHIWIxDTorxowNjbmRRCF3kKQWPCf2tv10O3cg26TGZQJXr99B33tNXR+7QJlh4KiQwhLSscmtQZVl2v5W6DTSeW73S6lpf0zguO02Fd8FN96zSAoXK7vmJ6ehtvtxrBlGFm79iKCANFJGQjZliLLmZqaEsJmtx2pqKqmj8lYHRGHasMNKfR4XHJZLBbk7S/CupgERGl0ErAhToOS02UMNohvJnNzbNp2xKRmSbOqagwk9OBw6Vkk5ebjDZWyPjYRUdp0hGt1MostBAneqqVse03C3NfXFJqYKg3ijTWRajx99gIlZ84jYFMEwjRpiKTILJwHEGxt1FZ86epuEz29prb/6LQZGBqNxqaXOHj8JLQ5eeAAIQkpsgQG8Xkuo7un18oZNGYXFM7T+UBMSqZsodVqlT6UVVYilkrcqNZKMWekyd4Jk9ls4zkwXdRXSyIbJCPQATb1yvVboH0Jud/QgDTqBIsZdOJcORv8gNvobezoQHxGjuzzlr9mcaSgkBgMDA5SS10w9w8gZ3chQsnI6ORMNL//wK1eyRkIHs9HTxoRRv2VEMokMkknow0NDcm5MNTdQSB1iY28UX8PDqdT4SsgbDZZhkIQX74H8Rm5shw+yGXQPvoGBrGZ2sY+1N27z1O4isfYbrerSGxnCM31iEKRvIwdRrAn/4xl8c07d3Gq/AI+tbaDLx+JFdYQYDNT5OJMRkZG+FL50Lu0r7/f1N3To6dp6yS3G212e8OPH1NLOTJd4/n1BxoVaY65Y3qrAAAAAElFTkSuQmCC'; this.checked = false; this.tooltipText = "Параметры соединения\nБез прокси"; return; } if ( state==1 ) { this.image ='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAADAklEQVQ4T1VTS0wTURSdaSFIIi5cscEE4kYFQUSEFqSFSAtoqRo0BmIUJX74SAFxgWgwuoAEY0riyshCCCg0BKouWKhRsa0QKW1hSe1MB1q0FFrKry3Xdx+2iZO8zPvcc969557HMv8+juPEIpFoJz4+LsnnW3u6FgicCoV2ILwTFmJjxPsSEvZ+TklOqY/Eu1wucWJiYphZWFgQOZ1OFg9cbjc7/vETNLc9BJnqAhzKlcHBLCmkSuWgud8Oo/oPsLi4mLS0tMQSzB6CZRkyERM2lhwkv3jZC9lFZXBYIofjMiVkyUvgBI7CUkp2NP80dD7TgiAIIiSJZMPgQq/XBzNkCkiXKym4ulYD29vbsLm5CTWN9yCbkOA4IpFB1/Memgkl8Ho97JfvBkjNlcMxAm5ufwzV9U3w1WCEYDAI4XAYJkw/4HpDM2jaHlESzATLoQQOzlHX0dlNNoug8mYdBAIBejOCfT4/+P1rlAT3NjY24OrtBloOajJvn+9hZqy28RzFWThZfAZe9Q1AKBSiAN3YO8grOw+SEjUMjeopAZ4N6EaoJijsjMViZWyzs/r0gmLILFBAvlINDo6nWZRcrKIloS5F5y6B17sCvNMJUkKIwmJ3pn5OTzBmi3UC1cbgHIUKON5JCZQVlXQPh0xVASurq8ALAkhL1bQ7WMa02fILM9CpLl+hgb39g9EShsfeg0RZTknfjIxF9weGR2iX0CdWm82BPrA+6eqmjFU1tfR2rHVrawtWfT56M2qCoq6vr8O1O3epT9Bsdrv9NbYxxmgyQV5pOfVAK2ljjaYVvhlMlAiBhskpuNHYAk0POmgMmg0d6/H8PkBb6Xa7xf1DOsgg/c0o3HVe1a36aCbogYge+EfHou0jTwDLYAlJXN/gW5KJmpaDgZmELDLSSNtySKvRsWh7vBgf4K6ZHA5WEHiWvAmR0WQE1CQiLBLhXKvV+onlgXwkVmARQwjSou8BJzzPsx6PJ5b8W2bn5qzTZnMXcdskUVvn4LjB5eU/+/8DkMVfsY1mV5YrTCYAAAAASUVORK5CYII='; this.checked = true; var pxadr = cbu.getPrefs("network.proxy.http"); var pxprt = cbu.getPrefs("network.proxy.http_port"); this.tooltipText = "Параметры соединения\nРучная настройка, текущий прокси: "+ pxadr + ":" + pxprt; return; } if ( state==2 ) { this.image ='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAACBElEQVQ4T41TTUtbQRSdZ4xpRKVIti2YXTYlIk3sYELeotBVN/6NutKdUOiiCwWlVOiq0IUtiJKFEVwkoFJIm6TafLzEpTGfG30JGN2UxOmcgRueQxcNXPLmzr3nnjlzxmDyx3nI3e32BqlUSni9nic3N7fvb+/uov3+vRjcD1ruUdfU5OTEiX/Gv4T6cHjOEIK5c7mzP6o5Ell4ZJovRmIx/jh5dCyWV9+qeLe2IWbNVyL2elGt9w8OBdVxzo1g8JmLBQKBESRlqGY0IL7/+CmCkZfDNXJYr21+VCCmyb2ch8cUHZpM0zLZrJpIYPr/+octgIz7fD7Gul3bwGSgg2qv1xkGQJDTAcAOx4EerFavvUGCQgcAG+xBD9KFvi+qF1usaJWTJBYdASDOyWDXbrceMEOuWCpZrFypHOgUAaDnMJ3YkT6nv/NpVihZ6f8BIBZophvKF0qXYBDXhQJdZw7fzhzWALHK5RprNpuWUwOwqVarii4ExJ4OiBrsybptXOMoFZIDnTeBZv2IOA6u3ravng6d+G0vrqYhAEgM/mWmT5+/SCNpToQ9v+7sPphGoASCyYlEog8XDp0YCs2N4WEAEclMNqNYkIhgQ9aWzWoy6qLRqDE//9yl3IhXhYcBb9u27W40GiuV83MrXyisS7f9kmrHa/X6TqdzPU11stkjj2n8BTQjJ/nBnlUOAAAAAElFTkSuQmCC'; this.checked = true; var pxcnf = cbu.getPrefs("network.proxy.autoconfig_url") this.tooltipText = "Параметры соединения\nАвтонастройка с URL:" + pxcnf; return; } if ( state==4 ) { this.image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAAC4klEQVQ4T21TW0iTYRjevykmZBddeWOgdGNpmpp5SN0UD1NTSzACk4S6ywsxiDDNMLWJp6Z5wNQLFUQZGMMDGlaW6TJyblOiyLm56aZNwcNV6tP3fjXR8oeXff/+73m+932e5xNEfx+z2SwRi8X77u5uXpub22XbOzvRu7v72Nvfs7q6SE55eJx86+Ptk+fcb7PZJJ6ennui5eVlscViEeiDzW4XRsbeoKCwGNK0TPiGS3E2JBJ+kTLkPyjCK/UgVlZWvFZXVwWGOcGwgogtJIxNYB+8G192IDQuBeciZAiWJiFEJsclqthkTnYhKh6KGiWsVquYSJzdiOhFrVb/uihLQgArJzgoVg5nhTISqvMRUlTW1fNOOMHGhkMY/zgJv3AZiODfCmYk5bV1GBwdRVN7B6QpmbwTGocTmMyme08U1ezPuGMJGlrbUNXQiEdlz/CY1dDICHzDYrgmC8aFetGs3jASlngVlxNSjyV4P/EBypZWbG2uY2z8HXpUKqRk3eLCzup0epFhbk4dEJOAoJhELtbhEYorFEwwMwqKSmCxmFDT2Az18BCi5de4O5+/zEyItDr9BKlNwMzbd7nqUanXoXheD7vNyk+e/KRBESPr6+9HWU0dd4dcmdHqFqkDVdrNHE5Am799/wrj4g/UNbfgYWk5NjbW+OkliiokZWVzMLlEOdEbDCbKgf5pZTVnrH3RhKlpDSeiItWHX48iLTv3YDQCU04obEajsZNsdJnSaHAlOR2BzLL4jBvoHxhAYWkFcvPy0dbZdUQXygmFjRLrcKyd4Vba7XZJd58KgcxfIsnMuYPu3l60M3CEPP0/dyixFHvnFaAxBEbi1tXTyzrJ4OOQJoeT6M9sC2NWU2Ip9nQwXcA/YTKZBKt1SWB3QjylmQJp4hSWiGitVCq3WOTBHrbXKhCGEfgf3AdaLC0tCQ6Hw5X93p+bn9fPaLWVLG3TTG2VyWzuWV//efoIgL38Bkt7NIZJ0esyAAAAAElFTkSuQmCC'; this.checked = true; this.tooltipText = "Параметры соединения\nАвтоматическое определение прокси для этой сети"; return; } if ( state==5 ) { this.image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAACq0lEQVQ4T41TX0hTYRS/d1NMaD34tBcDpZdCmy0tbZmbktNVUzCIivSh3qoH20hS+zNIQsGwCb0o9FCBFSvkktbIPwTmZpHzbndvc93N6zbrKvjnKfV0zlczJAgvHPZ93873+875/X6HX1lZ5HS6HC4Wi2k1Gs1mdnZW7vLyasfq2tqJ9fVN2NjcUDIztHt0ut3j+Xn517k/XzKZ1Or1+g2OAObm5ng6T6ZSvHd0DBxtd8Bsb4D9ZWbYV2yCApMFmltuw6AwBIlEIndhYYHHO7vm5+d5uqxFNB7/yHvc/wSOVJ2CA8cscNhcA8WWWiihqLQxsIPlJ6HzoRsURdEQSLoajjaCIPwsqaqFqy3tcKPtHoYLmtv/hhPXDjwrt9VDV08vq4QBLC2p/MdPk1BQZgFh2AtTU1Pbwu/3b+0jkQjLoUqoHQYgx+Rrrs5uPKyCdyPjgJz8N95jDrVDnMxGZ3u5mWDIW2o9A0erT+8IYHhkjHFCxM6IYpALSZJgqKgGY4V1RwBUJRFL6nz5Oj3BBcTgBLF9yFKzI4ChD6NMHWpjOiB+owo89vONDODF60Egoiii0SigxCxkWQZJkkAURZZDEpNPgqGQTD4I3u/qZoglZivUXWiCs5cuQ+tdF6C8EA6H4Y3wFhqarrAwWe3MJ2Q2fOQpyZjhQ6mO2+rAgFUUI7qxshbOXWyEnp5H4HA4wdXxAIzmaijCByiHzEaOVdXve5mUqVRK+/yVB4pQXwMm3bzV+o+Uff19SJ6VtUqOJdunR4DNAoJkPRt4iZXUs3YokSpJRyHKVopSk2PJ9vQwDeBvM8kyryhxHmdC4/P7gDhJE0tAtHa73SvECX6Yq/B0BwEKt+aBFvF4nFdVNRN/nVI4HJwOBLrQbZ+RbY8ciw0sLv7I2XYBN78Ai4uCXaMrRkkAAAAASUVORK5CYII='; this.checked = true; this.tooltipText = "Параметры соединения\nСистемные настройки прокси"; } } this.PS = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); this.ob = {}; this.ob.observe = this.setState.bind(this); this.PS.addObserver( this.pref, this.ob, false); this.setState(); // Настройка функций кликов мыши для кнопки ................................ this.onclick = function(e) { // действие при клике ЛКМ .... if ( e.button == 0 ) { openConnections(); }; // действие при клике СКМ .... if ( e.button == 1 ) { var curstate = cbu.getPrefs(this.pref); if (curstate==0) cbu.setPrefs(this.pref,1); if (curstate==1) cbu.setPrefs(this.pref,2); if (curstate==2) cbu.setPrefs(this.pref,4); if (curstate==4) cbu.setPrefs(this.pref,5); if (curstate==5) cbu.setPrefs(this.pref,0); }; // действие при клике ПКМ .... if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); if ( !this.lastChild ) { var cloneMenu = document.getElementById("toolbar-context-menu").cloneNode( true ); this.appendChild( cloneMenu ); }; this.lastChild.showPopup ( this, -1, -1, "popup", "bottomleft", "topleft" ); } }; // Функция открывает настройки прокси в окне ............................................................... function openConnections() { var win = openDialog("chrome://browser/content/preferences/connection.xul", "", "centerscreen, resizable=no"); win.addEventListener("load", function(e) { this.removeEventListener("load", arguments.callee, true); // удалить обработчик e.target.documentElement.setAttribute("type", "prefwindow"); }, true); // обработчик закрывает настройки прокси по клику на странице .... gBrowser.addEventListener("click", function() { this.removeEventListener("click", arguments.callee, true); try { win.close() } catch(e) {}; // закрыть окно }, true); };
кстати исходя из этого кода вытекает минибаг
если я тыкаю ПКМ на этой кнопке и навожу на пункт из стандартного меню то подсказка с кнопок идет (http://img820.imageshack.us/img820/9472/ozm6.png)
а при тыке на любом из пунктов("Настройки" или "Панель меню" открывается окошко Параметров соединения и пропадает иконка на кнопке (http://img594.imageshack.us/img594/2382/m0pc.png)
да и кстати код позволяет плодить любое количество окон "Параметры соединения" (а 1но окно вроде как правильно логически, а то получится что можешь в каждом из окон выставить настройки )
после ремонта вышеописанного это будет предел совершенства
Отредактировано lmiol (13-10-2013 17:42:55)
Отсутствует
а при тыке на любом из пунктов("Настройки" или "Панель меню" открывается окошко Параметров соединения
да и кстати код позволяет плодить любое количество окон "Параметры соединения" (а 1но окно вроде как правильно логически, а то получится что можешь в каждом из окон выставить настройки
var s = 'network.proxy.type'; function toggleImage() { var state = cbu.getPrefs( s ); var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon"); if ( state==0 ) { icon.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAADJ0lEQVQ4T1WTaUiUURSG7+comi0/+pWFSQu0mXsuk+mMoo5LamSSFUYgSbSQZEWFhhGkA1Y6bZYRtIBUQiUVWVSY2oil5owLCM7iNmNOk/OvVN7OuZTQB5dv5rv3fc457zlXmZiYEP8eRVHEAl9f8WvmV7NK5RPgmPwuZn7PCG8f74klixcFLPT3z5+bmxuYnZ1VvOgBMCfGx8e9RkdHFQIpHs9Pv4cNj/GxtQ0WqwUJWTuwbGM4gkKicbKsAs+bXsHpdKomJycFafxIq/APlcPhUFwul19ldQ3Uumy0GI2ouKTH8uBI5B8oxrEz5VgRHIWIxDTorxowNjbmRRCF3kKQWPCf2tv10O3cg26TGZQJXr99B33tNXR+7QJlh4KiQwhLSscmtQZVl2v5W6DTSeW73S6lpf0zguO02Fd8FN96zSAoXK7vmJ6ehtvtxrBlGFm79iKCANFJGQjZliLLmZqaEsJmtx2pqKqmj8lYHRGHasMNKfR4XHJZLBbk7S/CupgERGl0ErAhToOS02UMNohvJnNzbNp2xKRmSbOqagwk9OBw6Vkk5ebjDZWyPjYRUdp0hGt1MostBAneqqVse03C3NfXFJqYKg3ijTWRajx99gIlZ84jYFMEwjRpiKTILJwHEGxt1FZ86epuEz29prb/6LQZGBqNxqaXOHj8JLQ5eeAAIQkpsgQG8Xkuo7un18oZNGYXFM7T+UBMSqZsodVqlT6UVVYilkrcqNZKMWekyd4Jk9ls4zkwXdRXSyIbJCPQATb1yvVboH0Jud/QgDTqBIsZdOJcORv8gNvobezoQHxGjuzzlr9mcaSgkBgMDA5SS10w9w8gZ3chQsnI6ORMNL//wK1eyRkIHs9HTxoRRv2VEMokMkknow0NDcm5MNTdQSB1iY28UX8PDqdT4SsgbDZZhkIQX74H8Rm5shw+yGXQPvoGBrGZ2sY+1N27z1O4isfYbrerSGxnCM31iEKRvIwdRrAn/4xl8c07d3Gq/AI+tbaDLx+JFdYQYDNT5OJMRkZG+FL50Lu0r7/f1N3To6dp6yS3G212e8OPH1NLOTJd4/n1BxoVaY65Y3qrAAAAAElFTkSuQmCC'; this.checked = false; this.tooltipText = "Параметры соединения\nБез прокси"; return; } if ( state==1 ) { icon.src ='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAADAklEQVQ4T1VTS0wTURSdaSFIIi5cscEE4kYFQUSEFqSFSAtoqRo0BmIUJX74SAFxgWgwuoAEY0riyshCCCg0BKouWKhRsa0QKW1hSe1MB1q0FFrKry3Xdx+2iZO8zPvcc969557HMv8+juPEIpFoJz4+LsnnW3u6FgicCoV2ILwTFmJjxPsSEvZ+TklOqY/Eu1wucWJiYphZWFgQOZ1OFg9cbjc7/vETNLc9BJnqAhzKlcHBLCmkSuWgud8Oo/oPsLi4mLS0tMQSzB6CZRkyERM2lhwkv3jZC9lFZXBYIofjMiVkyUvgBI7CUkp2NP80dD7TgiAIIiSJZMPgQq/XBzNkCkiXKym4ulYD29vbsLm5CTWN9yCbkOA4IpFB1/Memgkl8Ho97JfvBkjNlcMxAm5ufwzV9U3w1WCEYDAI4XAYJkw/4HpDM2jaHlESzATLoQQOzlHX0dlNNoug8mYdBAIBejOCfT4/+P1rlAT3NjY24OrtBloOajJvn+9hZqy28RzFWThZfAZe9Q1AKBSiAN3YO8grOw+SEjUMjeopAZ4N6EaoJijsjMViZWyzs/r0gmLILFBAvlINDo6nWZRcrKIloS5F5y6B17sCvNMJUkKIwmJ3pn5OTzBmi3UC1cbgHIUKON5JCZQVlXQPh0xVASurq8ALAkhL1bQ7WMa02fILM9CpLl+hgb39g9EShsfeg0RZTknfjIxF9weGR2iX0CdWm82BPrA+6eqmjFU1tfR2rHVrawtWfT56M2qCoq6vr8O1O3epT9Bsdrv9NbYxxmgyQV5pOfVAK2ljjaYVvhlMlAiBhskpuNHYAk0POmgMmg0d6/H8PkBb6Xa7xf1DOsgg/c0o3HVe1a36aCbogYge+EfHou0jTwDLYAlJXN/gW5KJmpaDgZmELDLSSNtySKvRsWh7vBgf4K6ZHA5WEHiWvAmR0WQE1CQiLBLhXKvV+onlgXwkVmARQwjSou8BJzzPsx6PJ5b8W2bn5qzTZnMXcdskUVvn4LjB5eU/+/8DkMVfsY1mV5YrTCYAAAAASUVORK5CYII='; this.checked = true; var pxadr = cbu.getPrefs("network.proxy.http"); var pxprt = cbu.getPrefs("network.proxy.http_port"); this.tooltipText = "Параметры соединения\nРучная настройка, текущий прокси: "+ pxadr + ":" + pxprt; return; } if ( state==2 ) { icon.src ='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAACBElEQVQ4T41TTUtbQRSdZ4xpRKVIti2YXTYlIk3sYELeotBVN/6NutKdUOiiCwWlVOiq0IUtiJKFEVwkoFJIm6TafLzEpTGfG30JGN2UxOmcgRueQxcNXPLmzr3nnjlzxmDyx3nI3e32BqlUSni9nic3N7fvb+/uov3+vRjcD1ruUdfU5OTEiX/Gv4T6cHjOEIK5c7mzP6o5Ell4ZJovRmIx/jh5dCyWV9+qeLe2IWbNVyL2elGt9w8OBdVxzo1g8JmLBQKBESRlqGY0IL7/+CmCkZfDNXJYr21+VCCmyb2ch8cUHZpM0zLZrJpIYPr/+octgIz7fD7Gul3bwGSgg2qv1xkGQJDTAcAOx4EerFavvUGCQgcAG+xBD9KFvi+qF1usaJWTJBYdASDOyWDXbrceMEOuWCpZrFypHOgUAaDnMJ3YkT6nv/NpVihZ6f8BIBZophvKF0qXYBDXhQJdZw7fzhzWALHK5RprNpuWUwOwqVarii4ExJ4OiBrsybptXOMoFZIDnTeBZv2IOA6u3ravng6d+G0vrqYhAEgM/mWmT5+/SCNpToQ9v+7sPphGoASCyYlEog8XDp0YCs2N4WEAEclMNqNYkIhgQ9aWzWoy6qLRqDE//9yl3IhXhYcBb9u27W40GiuV83MrXyisS7f9kmrHa/X6TqdzPU11stkjj2n8BTQjJ/nBnlUOAAAAAElFTkSuQmCC'; this.checked = true; var pxcnf = cbu.getPrefs("network.proxy.autoconfig_url") this.tooltipText = "Параметры соединения\nАвтонастройка с URL:" + pxcnf; return; } if ( state==4 ) { icon.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAAC4klEQVQ4T21TW0iTYRjevykmZBddeWOgdGNpmpp5SN0UD1NTSzACk4S6ywsxiDDNMLWJp6Z5wNQLFUQZGMMDGlaW6TJyblOiyLm56aZNwcNV6tP3fjXR8oeXff/+73m+932e5xNEfx+z2SwRi8X77u5uXpub22XbOzvRu7v72Nvfs7q6SE55eJx86+Ptk+fcb7PZJJ6ennui5eVlscViEeiDzW4XRsbeoKCwGNK0TPiGS3E2JBJ+kTLkPyjCK/UgVlZWvFZXVwWGOcGwgogtJIxNYB+8G192IDQuBeciZAiWJiFEJsclqthkTnYhKh6KGiWsVquYSJzdiOhFrVb/uihLQgArJzgoVg5nhTISqvMRUlTW1fNOOMHGhkMY/zgJv3AZiODfCmYk5bV1GBwdRVN7B6QpmbwTGocTmMyme08U1ezPuGMJGlrbUNXQiEdlz/CY1dDICHzDYrgmC8aFetGs3jASlngVlxNSjyV4P/EBypZWbG2uY2z8HXpUKqRk3eLCzup0epFhbk4dEJOAoJhELtbhEYorFEwwMwqKSmCxmFDT2Az18BCi5de4O5+/zEyItDr9BKlNwMzbd7nqUanXoXheD7vNyk+e/KRBESPr6+9HWU0dd4dcmdHqFqkDVdrNHE5Am799/wrj4g/UNbfgYWk5NjbW+OkliiokZWVzMLlEOdEbDCbKgf5pZTVnrH3RhKlpDSeiItWHX48iLTv3YDQCU04obEajsZNsdJnSaHAlOR2BzLL4jBvoHxhAYWkFcvPy0dbZdUQXygmFjRLrcKyd4Vba7XZJd58KgcxfIsnMuYPu3l60M3CEPP0/dyixFHvnFaAxBEbi1tXTyzrJ4OOQJoeT6M9sC2NWU2Ip9nQwXcA/YTKZBKt1SWB3QjylmQJp4hSWiGitVCq3WOTBHrbXKhCGEfgf3AdaLC0tCQ6Hw5X93p+bn9fPaLWVLG3TTG2VyWzuWV//efoIgL38Bkt7NIZJ0esyAAAAAElFTkSuQmCC'; this.checked = true; this.tooltipText = "Параметры соединения\nАвтоматическое определение прокси для этой сети"; return; } if ( state==5 ) { icon.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTFH80I3AAACq0lEQVQ4T41TX0hTYRS/d1NMaD34tBcDpZdCmy0tbZmbktNVUzCIivSh3qoH20hS+zNIQsGwCb0o9FCBFSvkktbIPwTmZpHzbndvc93N6zbrKvjnKfV0zlczJAgvHPZ93873+875/X6HX1lZ5HS6HC4Wi2k1Gs1mdnZW7vLyasfq2tqJ9fVN2NjcUDIztHt0ut3j+Xn517k/XzKZ1Or1+g2OAObm5ng6T6ZSvHd0DBxtd8Bsb4D9ZWbYV2yCApMFmltuw6AwBIlEIndhYYHHO7vm5+d5uqxFNB7/yHvc/wSOVJ2CA8cscNhcA8WWWiihqLQxsIPlJ6HzoRsURdEQSLoajjaCIPwsqaqFqy3tcKPtHoYLmtv/hhPXDjwrt9VDV08vq4QBLC2p/MdPk1BQZgFh2AtTU1Pbwu/3b+0jkQjLoUqoHQYgx+Rrrs5uPKyCdyPjgJz8N95jDrVDnMxGZ3u5mWDIW2o9A0erT+8IYHhkjHFCxM6IYpALSZJgqKgGY4V1RwBUJRFL6nz5Oj3BBcTgBLF9yFKzI4ChD6NMHWpjOiB+owo89vONDODF60Egoiii0SigxCxkWQZJkkAURZZDEpNPgqGQTD4I3u/qZoglZivUXWiCs5cuQ+tdF6C8EA6H4Y3wFhqarrAwWe3MJ2Q2fOQpyZjhQ6mO2+rAgFUUI7qxshbOXWyEnp5H4HA4wdXxAIzmaijCByiHzEaOVdXve5mUqVRK+/yVB4pQXwMm3bzV+o+Uff19SJ6VtUqOJdunR4DNAoJkPRt4iZXUs3YokSpJRyHKVopSk2PJ9vQwDeBvM8kyryhxHmdC4/P7gDhJE0tAtHa73SvECX6Yq/B0BwEKt+aBFvF4nFdVNRN/nVI4HJwOBLrQbZ+RbY8ciw0sLv7I2XYBN78Ai4uCXaMrRkkAAAAASUVORK5CYII='; this.checked = true; this.tooltipText = "Параметры соединения\nСистемные настройки прокси"; } }; toggleImage(); gPrefService.addObserver( s, toggleImage, false ); addDestructor(function() { gPrefService.removeObserver( s, toggleImage, false ) }); // Настройка функций кликов мыши для кнопки ................................ this.onclick = function(e) { if ( e.target.localName !== 'toolbarbutton' ) return; // действие при клике ЛКМ .... if ( e.button == 0 ) { openConnections(); }; // действие при клике СКМ .... if ( e.button == 1 ) { var curstate = cbu.getPrefs( s ); if (curstate==0) cbu.setPrefs(s,1); if (curstate==1) cbu.setPrefs(s,2); if (curstate==2) cbu.setPrefs(s,4); if (curstate==4) cbu.setPrefs(s,5); if (curstate==5) cbu.setPrefs(s,0); }; // действие при клике ПКМ .... if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); if ( !this.lastChild ) { var cloneMenu = document.getElementById("toolbar-context-menu").cloneNode( true ); this.appendChild( cloneMenu ); }; this.lastChild.tooltipText = ''; this.lastChild.showPopup ( this, -1, -1, "popup", "bottomleft", "topleft" ); } }; // Функция открывает настройки прокси в окне ................................ function openConnections() { var windows = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Components.interfaces.nsIWindowMediator).getEnumerator(null); while( windows.hasMoreElements() ) { var win = windows.getNext(); if ( win.document.documentURI == "chrome://browser/content/preferences/connection.xul") { win.focus(); return; } }; var win = openDialog("chrome://browser/content/preferences/connection.xul", "proxy_settings", "centerscreen, resizable=no"); // добавить атрибут "prefwindow" win.addEventListener("load", function(e) { this.removeEventListener("load", arguments.callee, true); e.target.documentElement.setAttribute("type", "prefwindow"); }, true); // закрыть настройки прокси по клику на странице gBrowser.addEventListener("click", function c() { this.removeEventListener("click", c ); try { win.close() } catch(e) {}; }); };
кстати исходя из этого кода вытекает минибаг
если я тыкаю ПКМ на этой кнопке и навожу на пункт из стандартного меню то подсказка с кнопок идет ....
....и пропадает иконка на кнопке .....
Отредактировано bunda1 (13-10-2013 18:44:38)
Отсутствует
lmiol пишет:
кстати исходя из этого кода вытекает минибаг
если я тыкаю ПКМ на этой кнопке и навожу на пункт из стандартного меню то подсказка с кнопок идет ....
....и пропадает иконка на кнопке .....
угу вот и мне нипоняяяятно
после верхнего кода иконка пропадает только после тыка на пункт Настройки из меню на ПКМ на кнопку прокси (открывающее Настройку панелей инструментов => http://img689.imageshack.us/img689/1013/fb3n.png)
возвращается иконка если тыкаю эти же Настройки с меню но вызванного с любого другого места
Отредактировано lmiol (13-10-2013 19:16:22)
Отсутствует
после верхнего кода иконка пропадает только после тыка на пункт Настройки из меню на ПКМ на кнопку прокси (открывающее Настройку панелей инструментов => http://img689.imageshack.us/img689/1013/fb3n.png)
возвращается иконка если тыкаю эти же Настройки с меню но вызванного с любого другого места
Но иконка же возвращается или нет если закрыть настройку панелей инструментов, не понял.
Отсутствует
bunda1 пишет:
Вот рабочий пример:
................................................
Да, так работает, спасибо!
Но почему не работает этот вариант - через присваивание свойства onmousedown (или onclick, не суть важно)?
То есть работает, но вместе с нужным действием происходит и дефолтное, preventDefault() и stopPropagation() не помогают.
Отредактировано Ferguss114 (13-10-2013 19:33:52)
Отсутствует
Но иконка же возвращается или нет если закрыть настройку панелей инструментов, не понял.
нет не возвращается,
Схема возврата: в любом другом месте кликнуть правой кнопкой а потом выбрать в меню пункт Настройки Открывается Настройка панелей инструментов, вот после выхода из этого окна возвращается иконка
кажется что эта часть кода может быть связана с исчезновением (потому что в любой другой код вставить тоже самое происходит)
if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); if ( !this.lastChild ) { var cloneMenu = document.getElementById("toolbar-context-menu").cloneNode( true ); this.appendChild( cloneMenu ); }; this.lastChild.tooltipText = ''; this.lastChild.showPopup ( this, -1, -1, "popup", "bottomleft", "topleft" ); }
Отредактировано lmiol (13-10-2013 19:52:50)
Отсутствует
lmiol
В коде toggleImage(); на this.onload = function() { toggleImage() };
Добавлено 13-10-2013 20:08:55
кажется что эта часть кода может быть связана с исчезновением (потому что в любой другой код вставить тоже самое происходит)
Мне кажется нет.
Отредактировано bunda1 (13-10-2013 20:08:55)
Отсутствует
В коде toggleImage(); на this.onload = function() { toggleImage() };
не помогло
Мне кажется нет.
я не оспариваю я просто предположил )))
Отредактировано lmiol (13-10-2013 20:14:11)
Отсутствует