iDev.Pi значит так
Есть фрагмент
<menuitem label="=10" class="menuitem-iconic" image="data:image/png;base64,iV.............." cb:open="[size=10]" cb:close="[/size]"/>
Где cb:open="[size=10]"
cb:close="[/size]"/>
это переменные... дальше там обработчик оных
Теперь смотрим на запуск приложения
function startProcess(path, args) { args = args || []; var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); if(!file.exists()) { alert(path + "\nnot found!"); return; } var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file); process.run(false, args, args.length); } startProcess("C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe"); startProcess("", [""]);
тут тоже есть переменные.... так что нам мешает вместо BBCode написать две переменные или больше, тут же переменные, правда ?
startProcess("C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe"); startProcess("", [""]);
а?
Переменные пути и параметров.
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Вот это: http://custombuttons.mozdev.org/drupal/ … -buttons-0
?
Да.Спасибо
И ещё вопрос :есть расширения default full zoom level, glazoom formerly known as zoom it, nosquint и т.д. , позволящие установить дефолтное значение увеличения текста на всех сайтах - возможно ли это сделать кнопкой?
Отсутствует
imyax так они и так кнопкой или ты про то что бы - ЛКМ=Enlarge | СКМ=Reset | ПКМ=Reduce если про это, то могу дать готовые кнопки для текста и для изображения, правда они без настройки шага, его надо править в about:config.
Вот код для смены текста:
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EZoom%20Text%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhJQAtAPcAAAAAAP///6Jqa72FhrdiZdB7ftKDht2OkapRV9d+hKpZYst6g6t+g6ROWa5YY69ZZPWfqsuZpNakr7yCkMWLmadfd7x0jJtfe55ifoZphYZojpp8ootslZFym3dakoRnn3B0mYeLsLO33Li84W96sJKd01NkrFVmrpedtZmft6etxY6Xto2WtX6TzIyWsdnc5Y6ZtZCbt4+atj5mu0BovUFnukx0yU11yl6G22+X7H+n/IGn+mZ9r2mAskNqtUlssFh8yFl9yVZ5vVyByFuAx2aN2HKZ5HSb5l+J1VuByFd8wF2Dyl2Fyl+HzF6DyV2CyFV1snCa5ll5tnWd43Sc4nig5Xuj6Hqi53yk6Xyc2XCEqW5/nYSQpqmyw0NxvFN+w2KQ21yHzGGM0G+d6FyCwWGHxnGc4Xup9HKd4nKd4XWg5XSf5Hah5Xql6n2o7VtzmZzB/8re/8vf/7K9z0yAy1CEz1KCylGByVB/w2KW4VB5t1uKzmaa5WOMynmp8Xqq8nyr73uq7nOf3nWh4HSg33mj33ul4X2n43ym4n+p5aK/6VSHyVWIylSFyFeIy1ODwXuu8Hus73Sk4n2w8nur7X+w83ys7nKe23ek33aj3liKyYCy8WGGs4Cr4n+q4YGs47ra/7xjW+6VjbKBfblIQsNSTMdWULBVUMtwa/+Tjf+uqrR/e7J9ef+/u7aJhraYluDCwO7QzvTW1LxVUM5bWNFeW9pnZLhZVc1mYel2c9ZtaspoZchpZd10cdxzcN51ct92c952c+F6deB4dd93dOJ6d+F5duZ9euV8eeN7eNR1cemAfdZ3c9V2ctx6d9d4dN17eLloZe+Ig8x5dct6d7R+fP+6uMVTUs5eXNFhX9tpaORyceZ0c7pgX+x8eu9/fbVhX75qaOF/fuOBgN1/fdx+fOWDgsl1c9d9fKx0c8KIh76GhbKAf9Samd+trP/Ozf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAPAALAAAAAAlAC0AAAj/AOEJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIBNy0uSI0aJGjezc0aNII6dNlSZBihTpj58+LTNuoVPnk89Obr68mbMxD5+fntqE6fjIEqBAiQ5haVLRFbtR1VaxYpBBEqU9eA4hssKkIi5h48yNG5egwhkwSsggMnTFSUVps8StFYfAwhgvcMoYKlTlSUVRur55O0aOQwkoWeJowcRGzZKKoZZlw4asXAcSUkDJ0ZKJzZokE99R26btXLhkxT6cKLJDx41BhKYMmeguGrdr1sAVM+bBhI8aM2YQEkSFiMRYtHKVSgXhwbBg6Qj2uITmSBCJr2zVgCJlqoEDYsHWEeRxyYwRIBFV3UI1bUQIDRiA/RpA8EeaKDnQEBEvypzSigggbHBBL74IMFALQoiBBA42cPFCQ7K0s4sz3RyQAgoTENBMMwpIAE8XMcggAwwrsOCCCg3Bog400KBjgEAUFPAMMwtEENKPQAYp5JBEFmnkkUgmGWRAADs%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20---------------%20%20%20Event%20Detect%20%20%20------------------%0Athis.handle%20%3D%20function%28evt%29%20%7B%0A%20%20try%20%7B%0A%20%20if%28evt.shiftKey%29%20%7B%0A%20%20%20%20this.showPopup%28this%29%3B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%20%20%20%20switch%28evt.button%29%20%7B%0A%20%20%20%20case%200%3A%0A%20%20%20%0A%20%20%20%20%20%20this.toggleZoom%28false%29%3B%0A%20%20%20%20%20%20document.getElementById%28%22cmd_fullZoomEnlarge%22%29.doCommand%28%29%3B%0A%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20case%201%3A%20//%20Middle%20Click%0A%20%20%20%0A%20%20%20%20%20%20this.toggleZoom%28false%29%3B%0A%20%20%20%20%20%20document.getElementById%28%22cmd_fullZoomReset%22%29.doCommand%28%29%3B%0A%20%20%20%20break%3B%0A%20%20%20%20case%202%3A%20//%20Right%20Click%0A%20%20%20%20%20%20this.toggleZoom%28false%29%3B%0A%20%20%20%20%20%20document.getElementById%28%22cmd_fullZoomReduce%22%29.doCommand%28%29%3B%0A%20%20%20%20%20%20break%3B%0A%20%20%20%20%7D%0A%20%20%7Dcatch%28e%29%20%7Balert%28e%29%3B%7D%0A%20%20evt.preventDefault%28%29%3B%0A%20%20%20%20%20%20evt.stopPropagation%28%29%3B%0A%20%20%20%20%20%20return%20false%3B%0A%7D%0Athis.toggleZoom%20%3D%20function%20ZoomManager_toggleZoom%28useFullZoom%29%20%7B%0A%20%20%20%20var%20zoomLevel%20%3D%20ZoomManager.zoom%3B%0A%20%20%20%20ZoomManager.useFullZoom%20%3D%20useFullZoom%3B%0A%20%20%20%20ZoomManager.zoom%20%3D%20zoomLevel%3B%0A%7D%0A%0Athis.showPopup%20%3D%20function%28node%29%20%7B%0A%20%20var%20popup%20%3D%20document.getElementById%28%22custombuttons-contextpopup%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%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%0Athis.setAttribute%28%22onclick%22%2C%20%22this.handle%28event%29%3B%22%29%3B%0Athis.tooltipText%20%3D%20%22%5BL%3DEnlarge%20%7C%20M%3DReset%20%7C%20R%3DReduce%5D%22%3B%0A%0Athis.style.opacity%20%3D%20%27.65%27%3B%0Athis.setAttribute%28%27style%27%2C%27border-color%3A%20transparent%3B%27%29%3B%0Athis.setAttribute%28%22onmouseover%22%2C%20%22this.style.opacity%20%3D%20%271%27%3B%20this.setAttribute%28%27style%27%2C%27border-color%3A%20ThreeDHighlight%20ThreeDShadow%20ThreeDShadow%20ThreeDHighlight%3B%27%29%3B%22%20%29%3B%0Athis.setAttribute%28%22onmouseout%22%2C%20%22this.style.opacity%20%3D%20%27.65%27%3Bthis.setAttribute%28%27style%27%2C%27border-color%3A%20transparent%3B%27%29%3B%22%20%29%3B%0Athis.setAttribute%28%22onmousedown%22%2C%20%22this.setAttribute%28%27style%27%2C%27border-color%3A%20ThreeDShadow%20ThreeDHighlight%20ThreeDHighlight%20ThreeDShadow%3B%27%29%3B%22%29%3B%0Athis.setAttribute%28%22onmouseup%22%2C%20%22this.setAttribute%28%27style%27%2C%27border-color%3A%20ThreeDHighlight%20ThreeDShadow%20ThreeDShadow%20ThreeDHighlight%3B%27%29%3B%22%29%3B%0A%0A%0Athis.setAttribute%28%27homepage%27%2C%20%27http%3A//custombuttons2.com/forum/buttons/buttons-database/zoom-text-and-zoom-page-buttons-fx3.html%27%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*Code*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Вот код для смены изображения:
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%3EZoom%20Page%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhIQAfAPcAAAAAAP///8rFx761us/Gy9jU18TByPv4//n2//bz/4F+komGmo2Kno+MoYqIm4SClPHv/2Rid4OBmYeFnY+NpYaEmYWDmJuZsY2LoJmXrJCOorKwyJuZrru50aqovdLQ6K+uwKWktK6tuoiHpnd2iYuKnZOStKGgwsbF53Bwoq+v0Le315SUqZOTpZqaqrOzxamptbi4wp2dpYaHtn1+qpeYxKqr14iJp4uMqLGy0aGivru828HC4NTV8mVnh6ipu6ytv5eau6yv0JaYscnL5MrN6ZOUnnl8kqWpxoaIl4SJqYKHp6Gny83T98/U8p+itZyeq7CyvrK87aKkrpKXrbW93Nbe+sTJ3LW4w/b4/1hts2N0qsnT8sTN6lhpl8fS8sDK5bbI9s3Y9MvW8TdbqHmNuJSp2LjD3cvW7tzm/Iuy/4yz/2OO2YWt+Y61/pG4/4+3/JG4/ZK5/mqBqhhJl0d1wmmX5WWLypO7/5S8/5G4+Za9/4it6Jm9+ZS38R1UpF6V5Xiq9nKa1ZKx3oqn0XqSt7jU/TBqvEaA0n61/0mDzGSW1XWo54Cy75O03ZOz3LDT/KnJ8lmJwXOi2JzL/7vb/8Lf/5vC65S64afI6bPU9cXi/8Da9czl/4fA9afW/cTk/4zA58Lk/cfi98Dj+9Ho9sTq/9bt+brl+Nvy++P2/cTx/8HFts3RwqmqpMnKxP79g9zcwPr63v36m+Pizfb14PXupvrzq//71ebhu+TOgu/YlP/np//OTP/jm/7ptf/ruf/Rbf/z2PbVlPXXm/rfp/zsy/vryvPlyv/y193SvPHJgfLVo//ltfLcte2aGP6sKv+yOP+4RNWdPuCoSf+/VPnBYtOsbf/TieW/gPbaqt3Ipfzkvf/ryvrnx/fkxPzpy/yhH/SfIP2lJP2qM/OtQ8ubUei4bv7pyv/rzf/rzqeglsa/teeJDfOZGvioOraJTMqdX8izlv/oyP7pzPfr2/HRqsS3p+rUvPjiytDAsP7u3tC7qtTHv/Xn3v///yH5BAEAAP8ALAAAAAAhAB8AAAj/AP8JHEiwoMGDCBMqXMiwocOHECNGNBJFxBQsU6ZEgfIDSAssUFy8SAIRxpMrVs6I6XImzRkwVqp8KTKESskradCgGTOGC080XL58sULE5kMZHyr12cN0Tx48ct64WRPGCQ6IMToY8qNHThw4YN2oadMmTBUdEI30gDTI0aNHg/jwIRsokJQmS7DuqASpEihQW++wYWOHjRkmSiCG4NFJE6THkCJ58XHDx5EjChYoYOBgAgUSCl0U4ZQp0iVMmAiVQZGldZYDBxAkSAChgweFIFZY+kSpESNGgrYU2HcMXTp64MDNm+ePwAOFLXpsujRpkXVJWwzsM5ZOnbp06bp1//M3IIPCDSpIhZKkCBGiOloK1ENGH9k3bs2a5etnQSEHHqJ84kkgiBxChhYC1JOMMMIk440zzGiDzz0UKHTBDqSgoiEgf9ARXze//MLLiL5YQ0022zyX0AY5mGLKKqskQgcdZAgAYjHEDDPMMtZMc408Iig0Ag+nnJKKKqMUUsYcrQATTDVQShNNNO7Ew09/CfGARClHqpJKY2Ww4mQ55bzzDjnjiAOPPCwoREMNK6CgAg9VCCFFCsrYMgss5DzzDDThjAOPPg4oNIMNJ5iggglBCDFDCvfcsqc07TzTizvQxHNPCxL9Q8IrtciCCzfX7KLLNebIw46KEbHgCi2x5CZiDzOmYnPONuuYJ1EEElCAAQYMlKCBAw0UuwBonSar7LLMNntQQAA7%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20---------------%20%20%20Event%20Detect%20%20%20------------------%0Athis.handle%20%3D%20function%28evt%29%20%7B%0A%09try%20%7B%0A%09if%28evt.shiftKey%29%20%7B%0A%09%09this.showPopup%28this%29%3B%0A%09%09return%3B%0A%09%7D%0A%20%20%09switch%28evt.button%29%20%7B%0A%20%20%09case%200%3A%0A%20%09%09this.toggleZoom%28true%29%3B%0A%20%09%09document.getElementById%28%22cmd_fullZoomEnlarge%22%29.doCommand%28%29%3B%0A%20%20%20%20%09%09break%3B%0A%20%20%09case%201%3A%09//%20Middle%20Click%0A%20%20%09%09this.toggleZoom%28true%29%3B%0A%20%20%09%09document.getElementById%28%22cmd_fullZoomReset%22%29.doCommand%28%29%3B%0A%20%20%09%09break%3B%0A%20%20%09case%202%3A%09//%20Right%20Click%0A%20%20%09%09this.toggleZoom%28true%29%3B%0A%20%20%09%09document.getElementById%28%22cmd_fullZoomReduce%22%29.doCommand%28%29%3B%0A%20%20%09%09break%3B%0A%20%20%09%7D%0A%09%7Dcatch%28e%29%20%7Balert%28e%29%3B%7D%0A%09evt.preventDefault%28%29%3B%0A%20%20%20%20%09evt.stopPropagation%28%29%3B%0A%20%20%20%20%09return%20false%3B%0A%7D%0Athis.toggleZoom%20%3D%20function%20ZoomManager_toggleZoom%28useFullZoom%29%20%7B%0A%20%20%20%20var%20zoomLevel%20%3D%20ZoomManager.zoom%3B%0A%20%20%20%20ZoomManager.useFullZoom%20%3D%20useFullZoom%3B%0A%20%20%20%20ZoomManager.zoom%20%3D%20zoomLevel%3B%0A%7D%0Athis.showPopup%20%3D%20function%28node%29%20%7B%0A%09var%20popup%20%3D%20document.getElementById%28%22custombuttons-contextpopup%22%29%3B%0A%09var%20x%20%3D%20node.boxObject.x%3B%0A%09var%20y%20%3D%20node.boxObject.y%20+%20node.boxObject.height%3B%0A%09document.popupNode%20%3D%20node%3B%0A%09popup.showPopup%28node%2C%20x%2C%20y%2C%20%22popup%22%2C%20null%2C%20null%29%3B%0A%7D%0A%0Athis.setAttribute%28%22onclick%22%2C%20%22this.handle%28event%29%3B%22%29%3B%0Athis.tooltipText%20%3D%20%22%5BL%3DEnlarge%20%7C%20M%3DReset%20%7C%20R%3DReduce%5D%22%3B%0A%0Athis.style.opacity%20%3D%20%27.65%27%3B%0Athis.setAttribute%28%27style%27%2C%27border-color%3A%20transparent%3B%27%29%3B%0Athis.setAttribute%28%22onmouseover%22%2C%20%22this.style.opacity%20%3D%20%271%27%3B%20this.setAttribute%28%27style%27%2C%27border-color%3A%20ThreeDHighlight%20ThreeDShadow%20ThreeDShadow%20ThreeDHighlight%3B%27%29%3B%22%20%29%3B%0Athis.setAttribute%28%22onmouseout%22%2C%20%22this.style.opacity%20%3D%20%27.65%27%3Bthis.setAttribute%28%27style%27%2C%27border-color%3A%20transparent%3B%27%29%3B%22%20%29%3B%0Athis.setAttribute%28%22onmousedown%22%2C%20%22this.setAttribute%28%27style%27%2C%27border-color%3A%20ThreeDShadow%20ThreeDHighlight%20ThreeDHighlight%20ThreeDShadow%3B%27%29%3B%22%29%3B%0Athis.setAttribute%28%22onmouseup%22%2C%20%22this.setAttribute%28%27style%27%2C%27border-color%3A%20ThreeDHighlight%20ThreeDShadow%20ThreeDShadow%20ThreeDHighlight%3B%27%29%3B%22%29%3B%0A%20%20%0A%0Athis.setAttribute%28%27homepage%27%2C%20%27http%3A//custombuttons2.com/forum/buttons/buttons-database/zoom-text-and-zoom-page-buttons-fx3.html%27%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*Code*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
И соответственно.
Имя: Zoom Text
Картинка:
data:image/gif;base64,R0lGODlhJQAtAPcAAAAAAP///6Jqa72FhrdiZdB7ftKDht2OkapRV9d+hKpZYst6g6t+g6ROWa5YY69ZZPWfqsuZpNakr7yCkMWLmadfd7x0jJtfe55ifoZphYZojpp8ootslZFym3dakoRnn3B0mYeLsLO33Li84W96sJKd01NkrFVmrpedtZmft6etxY6Xto2WtX6TzIyWsdnc5Y6ZtZCbt4+atj5mu0BovUFnukx0yU11yl6G22+X7H+n/IGn+mZ9r2mAskNqtUlssFh8yFl9yVZ5vVyByFuAx2aN2HKZ5HSb5l+J1VuByFd8wF2Dyl2Fyl+HzF6DyV2CyFV1snCa5ll5tnWd43Sc4nig5Xuj6Hqi53yk6Xyc2XCEqW5/nYSQpqmyw0NxvFN+w2KQ21yHzGGM0G+d6FyCwWGHxnGc4Xup9HKd4nKd4XWg5XSf5Hah5Xql6n2o7VtzmZzB/8re/8vf/7K9z0yAy1CEz1KCylGByVB/w2KW4VB5t1uKzmaa5WOMynmp8Xqq8nyr73uq7nOf3nWh4HSg33mj33ul4X2n43ym4n+p5aK/6VSHyVWIylSFyFeIy1ODwXuu8Hus73Sk4n2w8nur7X+w83ys7nKe23ek33aj3liKyYCy8WGGs4Cr4n+q4YGs47ra/7xjW+6VjbKBfblIQsNSTMdWULBVUMtwa/+Tjf+uqrR/e7J9ef+/u7aJhraYluDCwO7QzvTW1LxVUM5bWNFeW9pnZLhZVc1mYel2c9ZtaspoZchpZd10cdxzcN51ct92c952c+F6deB4dd93dOJ6d+F5duZ9euV8eeN7eNR1cemAfdZ3c9V2ctx6d9d4dN17eLloZe+Ig8x5dct6d7R+fP+6uMVTUs5eXNFhX9tpaORyceZ0c7pgX+x8eu9/fbVhX75qaOF/fuOBgN1/fdx+fOWDgsl1c9d9fKx0c8KIh76GhbKAf9Samd+trP/Ozf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAPAALAAAAAAlAC0AAAj/AOEJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIBNy0uSI0aJGjezc0aNII6dNlSZBihTpj58+LTNuoVPnk89Obr68mbMxD5+fntqE6fjIEqBAiQ5haVLRFbtR1VaxYpBBEqU9eA4hssKkIi5h48yNG5egwhkwSsggMnTFSUVps8StFYfAwhgvcMoYKlTlSUVRur55O0aOQwkoWeJowcRGzZKKoZZlw4asXAcSUkDJ0ZKJzZokE99R26btXLhkxT6cKLJDx41BhKYMmeguGrdr1sAVM+bBhI8aM2YQEkSFiMRYtHKVSgXhwbBg6Qj2uITmSBCJr2zVgCJlqoEDYsHWEeRxyYwRIBFV3UI1bUQIDRiA/RpA8EeaKDnQEBEvypzSigggbHBBL74IMFALQoiBBA42cPFCQ7K0s4sz3RyQAgoTENBMMwpIAE8XMcggAwwrsOCCCg3Bog400KBjgEAUFPAMMwtEENKPQAYp5JBEFmnkkUgmGWRAADs=
/*Initialization Code*/ // --------------- Event Detect ------------------ this.handle = function(evt) { try { if(evt.shiftKey) { this.showPopup(this); return; } switch(evt.button) { case 0: this.toggleZoom(false); document.getElementById("cmd_fullZoomEnlarge").doCommand(); break; case 1: // Middle Click this.toggleZoom(false); document.getElementById("cmd_fullZoomReset").doCommand(); break; case 2: // Right Click this.toggleZoom(false); document.getElementById("cmd_fullZoomReduce").doCommand(); break; } }catch(e) {alert(e);} evt.preventDefault(); evt.stopPropagation(); return false; } this.toggleZoom = function ZoomManager_toggleZoom(useFullZoom) { var zoomLevel = ZoomManager.zoom; ZoomManager.useFullZoom = useFullZoom; ZoomManager.zoom = zoomLevel; } this.showPopup = function(node) { var popup = document.getElementById("custombuttons-contextpopup"); var x = node.boxObject.x; var y = node.boxObject.y + node.boxObject.height; document.popupNode = node; popup.showPopup(node, x, y, "popup", null, null); } this.setAttribute("onclick", "this.handle(event);"); this.tooltipText = "[L=Enlarge | M=Reset | R=Reduce]"; this.style.opacity = '.65'; this.setAttribute('style','border-color: transparent;'); this.setAttribute("onmouseover", "this.style.opacity = '1'; this.setAttribute('style','border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;');" ); this.setAttribute("onmouseout", "this.style.opacity = '.65';this.setAttribute('style','border-color: transparent;');" ); this.setAttribute("onmousedown", "this.setAttribute('style','border-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;');"); this.setAttribute("onmouseup", "this.setAttribute('style','border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;');"); this.setAttribute('homepage', 'http://custombuttons2.com/forum/buttons/buttons-database/zoom-text-and-zoom-page-buttons-fx3.html');
data:image/gif;base64,R0lGODlhIQAfAPcAAAAAAP///8rFx761us/Gy9jU18TByPv4//n2//bz/4F+komGmo2Kno+MoYqIm4SClPHv/2Rid4OBmYeFnY+NpYaEmYWDmJuZsY2LoJmXrJCOorKwyJuZrru50aqovdLQ6K+uwKWktK6tuoiHpnd2iYuKnZOStKGgwsbF53Bwoq+v0Le315SUqZOTpZqaqrOzxamptbi4wp2dpYaHtn1+qpeYxKqr14iJp4uMqLGy0aGivru828HC4NTV8mVnh6ipu6ytv5eau6yv0JaYscnL5MrN6ZOUnnl8kqWpxoaIl4SJqYKHp6Gny83T98/U8p+itZyeq7CyvrK87aKkrpKXrbW93Nbe+sTJ3LW4w/b4/1hts2N0qsnT8sTN6lhpl8fS8sDK5bbI9s3Y9MvW8TdbqHmNuJSp2LjD3cvW7tzm/Iuy/4yz/2OO2YWt+Y61/pG4/4+3/JG4/ZK5/mqBqhhJl0d1wmmX5WWLypO7/5S8/5G4+Za9/4it6Jm9+ZS38R1UpF6V5Xiq9nKa1ZKx3oqn0XqSt7jU/TBqvEaA0n61/0mDzGSW1XWo54Cy75O03ZOz3LDT/KnJ8lmJwXOi2JzL/7vb/8Lf/5vC65S64afI6bPU9cXi/8Da9czl/4fA9afW/cTk/4zA58Lk/cfi98Dj+9Ho9sTq/9bt+brl+Nvy++P2/cTx/8HFts3RwqmqpMnKxP79g9zcwPr63v36m+Pizfb14PXupvrzq//71ebhu+TOgu/YlP/np//OTP/jm/7ptf/ruf/Rbf/z2PbVlPXXm/rfp/zsy/vryvPlyv/y193SvPHJgfLVo//ltfLcte2aGP6sKv+yOP+4RNWdPuCoSf+/VPnBYtOsbf/TieW/gPbaqt3Ipfzkvf/ryvrnx/fkxPzpy/yhH/SfIP2lJP2qM/OtQ8ubUei4bv7pyv/rzf/rzqeglsa/teeJDfOZGvioOraJTMqdX8izlv/oyP7pzPfr2/HRqsS3p+rUvPjiytDAsP7u3tC7qtTHv/Xn3v///yH5BAEAAP8ALAAAAAAhAB8AAAj/AP8JHEiwoMGDCBMqXMiwocOHECNGNBJFxBQsU6ZEgfIDSAssUFy8SAIRxpMrVs6I6XImzRkwVqp8KTKESskradCgGTOGC080XL58sULE5kMZHyr12cN0Tx48ct64WRPGCQ6IMToY8qNHThw4YN2oadMmTBUdEI30gDTI0aNHg/jwIRsokJQmS7DuqASpEihQW++wYWOHjRkmSiCG4NFJE6THkCJ58XHDx5EjChYoYOBgAgUSCl0U4ZQp0iVMmAiVQZGldZYDBxAkSAChgweFIFZY+kSpESNGgrYU2HcMXTp64MDNm+ePwAOFLXpsujRpkXVJWwzsM5ZOnbp06bp1//M3IIPCDSpIhZKkCBGiOloK1ENGH9k3bs2a5etnQSEHHqJ84kkgiBxChhYC1JOMMMIk440zzGiDzz0UKHTBDqSgoiEgf9ARXze//MLLiL5YQ0022zyX0AY5mGLKKqskQgcdZAgAYjHEDDPMMtZMc408Iig0Ag+nnJKKKqMUUsYcrQATTDVQShNNNO7Ew09/CfGARClHqpJKY2Ww4mQ55bzzDjnjiAOPPCwoREMNK6CgAg9VCCFFCsrYMgss5DzzDDThjAOPPg4oNIMNJ5iggglBCDFDCvfcsqc07TzTizvQxHNPCxL9Q8IrtciCCzfX7KLLNebIw46KEbHgCi2x5CZiDzOmYnPONuuYJ1EEElCAAQYMlKCBAw0UuwBonSar7LLMNntQQAA7
/*Initialization Code*/ // --------------- Event Detect ------------------ this.handle = function(evt) { try { if(evt.shiftKey) { this.showPopup(this); return; } switch(evt.button) { case 0: this.toggleZoom(true); document.getElementById("cmd_fullZoomEnlarge").doCommand(); break; case 1: // Middle Click this.toggleZoom(true); document.getElementById("cmd_fullZoomReset").doCommand(); break; case 2: // Right Click this.toggleZoom(true); document.getElementById("cmd_fullZoomReduce").doCommand(); break; } }catch(e) {alert(e);} evt.preventDefault(); evt.stopPropagation(); return false; } this.toggleZoom = function ZoomManager_toggleZoom(useFullZoom) { var zoomLevel = ZoomManager.zoom; ZoomManager.useFullZoom = useFullZoom; ZoomManager.zoom = zoomLevel; } this.showPopup = function(node) { var popup = document.getElementById("custombuttons-contextpopup"); var x = node.boxObject.x; var y = node.boxObject.y + node.boxObject.height; document.popupNode = node; popup.showPopup(node, x, y, "popup", null, null); } this.setAttribute("onclick", "this.handle(event);"); this.tooltipText = "[L=Enlarge | M=Reset | R=Reduce]"; this.style.opacity = '.65'; this.setAttribute('style','border-color: transparent;'); this.setAttribute("onmouseover", "this.style.opacity = '1'; this.setAttribute('style','border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;');" ); this.setAttribute("onmouseout", "this.style.opacity = '.65';this.setAttribute('style','border-color: transparent;');" ); this.setAttribute("onmousedown", "this.setAttribute('style','border-color: ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow;');"); this.setAttribute("onmouseup", "this.setAttribute('style','border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight;');"); this.setAttribute('homepage', 'http://custombuttons2.com/forum/buttons/buttons-database/zoom-text-and-zoom-page-buttons-fx3.html');
Если это не то, что ты просишь, то назови все дополнения и что от кнопок именно нужно.
Отредактировано Indomito (21-07-2010 04:37:19)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Infocatcher я тут немного помучался и так и не понял, работает или нет в CB (те в контексте CB) - Условная компиляция?
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Indomito
Вот как раз ,я хочу не пользоваться этими кнопками , а выставить дефолтное увеличение текста для всех открываемых страниц , как это позволяют сделать перечисленные расширения. Т.е. выставил один раз увеличение текста = 120% и на всех открываемых страницах браузер сам увеличивает текст до указанного значения
Отсутствует
imyax ну это не ко мне )))) Хотя приблизительно понимаю как это сделать, но только приблизительно... Да, а причём тут кнопки то, те дополнение Custom Buttons, нужно другое дополнение искать или писать... ИМХО.
Хотя по таймеру мне удалось отловить вставку в буфер при 99% поддержке Infocatcher
PS При открытии нового окна много событий идёт... через window.opener надо перебирать все открытые окна, потом смотреть как работают эти кнопки,те их команды... ну просто для меня сложно, ибо я смутно представляю данный процесс в контексте CB
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
3. кнопку, при нажатии на которой, списком (или ещё лучше таблицей) выводилось бы содержимое панели закладок (не самих закладок, а именно панели): у меня на ней ссылки расположены сокращённые до иконок (текст убран), было бы удобно скрыть панель целиком и открывать только когда надо добавить/удалить что-то (ведь кб кнопки не поддерживают drag'n'drop например закладок?)
Может подойдет http://custombuttons2.com/forum/buttons/buttons-database/popup-toolbar.html
Отредактировано imyax (21-07-2010 10:38:59)
Отсутствует
Infocatcher я тут немного помучался и так и не понял, работает или нет в CB (те в контексте CB) - Условная компиляция?
Совсем не работает.
Вроде бы, из всех реализаций, нечто вроде есть только в JScript, но это IE & Co.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Доброго времени суток, хочу обратиться с такой просьбой:
Есть кнопочка QickBookmarks - очень полезная штука, но мне не хватает в ней функционала и так как я в коддинге как свинья в апельсинах, не аллё, решил обратиться сюда.
Суть просьбы такова: у меня 2 компа дома и на работе, между ними происходит синхронизация закладок и паролей, хотелось бы, чтоб и закладки в этой кнопке тоже синхронизировались между этими компами.
Отсутствует
в 2-х известных мне дополнениях Xmarks и Sync просто напросто нет такой кастомной возможности, они синхронят жёстко только пароли, закладки, историю и т.п. т.е. выбрать что-то специфическое я увы не могу. Буду рад, если подскажете синхронизатор с более расширенным функционалом
Отсутствует
Отсутствует
Явно что-то перекрутила, начала саморазмножаться кнопка Open profile folder удаляю, они появляются снова(( подскажите. как вычистить плз?
Мне надо перекрутить это самое "что-то", чтобы понять в чём дело и, возможно, внести исправления в новую версию расширения, чтобы это не повторялось в дальнейшем.
Но из вашего сообщения мне непонятно, как мне воспроизвести проблему у себя.
Сможете объяснить подробнее что и как мне надо сделать, чтобы увидеть "саморазмножающуюся" кнопку ?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
если бы я знала в чём дело, вернула бы всё обратно, как было) просто ни с того, ни сего появился такой эффект. Единственное, что похоже началось это после вчерашнего обновления firefox на версию 3.6.7, никаких новых расширений в последнее время не устанавливалось, в about:config тоже не залезала.
Пробовала вытаскивать их все на панель и удалять по одной, все до последней, после перезапуска браузера появляются заново и их количество растет с каждым новым запуском или заходом в настройки панелей, тут я точно ещё не поняла как все происходит.
Где вообще в профиле хранятся данные о кнопках, может можно как-то подредактировать вручнуб?
Добавлено 21-07-2010 20:32:16
PS Профиль совсем свежий, три дня назад переустанавливала windows и для firefox импортировала только закладки и пароли... больше ничего не глючит, остальные кнопки отлично работают, как собственно и сам браузер
Добавлено 21-07-2010 20:36:07
и еще чуть не забыла! при входе в настройки стало вываливаться такое окошко, два раза нажимаю на крестик появляется окно настроек с кучей этих кнопочек)
Отредактировано krselezneva (21-07-2010 20:40:10)
Отсутствует
krselezneva
В каталоге профиля (насколько я понимаю, путь к нему в вашем случае будет c:\Users\имя пользователя\AppData\Roamin\Mozilla\Firefox\Profiles\xxxxx.имя профиля\) есть подкаталог custombuttons, в нем есть файлы buttonsoverlay.xul и buttonsoverlay.xul.bak
Если их удалить, все кнопки, добавленные с помощью custombuttons будут удалены
Если в buttonsoverlay.xul нет ничего секретного - можете отправить этот файл перед удалением мне на custombuttonsextension@gmail.com, я посмотрю, возможно проблема связана с одной из кнопок.
Кроме того, мне надо знать установленную версию Custom Buttons, список установленных расширений и тем, какие расширения и темы включены.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Ок сейчас всё сделаю
Добавлено 21-07-2010 20:53:46
отправила
Отсутствует
krselezneva
Баг очень интересный, спасибо.
Буду разбираться.
Удаление файлов, я надеюсь, помогло ?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
удалила эти файлы, сделала все по новой, пока всё нормально, ничего больше не размножается единственное кнопочка - экспорт всех кнопок в HTML не смогла восстановить кнопки инструменты и вид, пришлось делать заново
Добавлено 21-07-2010 21:06:13
Это Вам спасибо!!!
Отсутствует
krselezneva
Как вы догадались поместить custombutton:// ссылку в поле "Изображение" одной из кнопок ?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
В смысле в поле картинка вставила код кнопки? не знаю)))) я же говорила что-то перекрутила)) из-за этого была проблема?
Добавлено 21-07-2010 21:40:24
а может это получилось, когда я через редактировать хотела удалить эту размножающуюся кнопку
Отредактировано krselezneva (21-07-2010 21:38:24)
Отсутствует
ну да скорее всего)) извиняюсь. что отняла время
Отсутствует
из-за этого была проблема?
Да, из-за этого.
Пока я эту ошибку исправляю, будьте внимательны с назначением картинок кнопкам : )
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Уважаемые форумчане - помогите плиз:
Стоит Toolbar Buttons version 0.6.0.8, я сделал себе тут http://codefisher.org/toolbar_button/toolbar_button_maker?flag=ru-RU кнопку Читать почту и направил ее на виндовый Аутлук Экспресс.
Так вот проблема в том, что кнопка отображается не как кнопка - а как картинка, хотя при нажатии на нее происходит задуманное - открытие почтовой программы.
Тоесть нет эффекта нажатия при кликании на ней мышкой.
Поясните плиз - так и должно быть или как это исправить?
Отсутствует
4. в связи с новой фичей, думаю будет очень актуальна для многих: действие Make into App Tab (не знаю как оно звучит в локализованной сборке) для всех вкладок сразу.
Может быть, даже как-то продумать toggle on/off режим, т.е. чтобы пока кнопка нажата мидлкликом допустим - все открываемые табы в дальнейшем будут сразу сужаться до фавиконки, и так будет происходить до тех пор, пока кнопка не будет мидл кликнута 2-ой раз.
кто-нибудь?
mzfx
Отсутствует
действие Make into App Tab (не знаю как оно звучит в локализованной сборке) для всех вкладок сразу.
Может быть, даже как-то продумать toggle on/off режим, т.е. чтобы пока кнопка нажата мидлкликом допустим - все открываемые табы в дальнейшем будут сразу сужаться до фавиконки, и так будет происходить до тех пор, пока кнопка не будет мидл кликнута 2-ой раз.
this.startupAutoPin = true; this.toggleTabsPinned = function(pin) { var tabs = Array.slice(gBrowser.tabs); pin = arguments.length ? pin : tabs.some(function(tab) { return !tab.pinned; }); if(!pin) tabs = tabs.reverse(); var action = pin ? "pinTab" : "unpinTab"; tabs.forEach(function(tab) { gBrowser[action](tab); }); }; this.evtHahdler = { handleEvent: function(e) { gBrowser.pinTab(e.target); } }; this._autoPin = false; this.toggleAutoPin = function() { this._autoPin = !this._autoPin; var tc = gBrowser.tabContainer; tc[this._autoPin ? "addEventListener" : "removeEventListener"]("TabOpen", this.evtHahdler, false); this.checked = this._autoPin; }; this.onDestroy = function() { this._autoPin && this.toggleAutoPin(); }; this.onclick = function(e) { if(e.button == 0) this.toggleTabsPinned(); else if(e.button == 1) this.toggleAutoPin(); }; if(this.startupAutoPin) { this.toggleTabsPinned(true); this.toggleAutoPin(); }
Но при наличии справа от вкладок кнопки закрытия будет нещадно глючить с расчетом ширины.
Плюс в данный момент после редактирования кнопки нужен перезапуск или открытие нового окна. Когда в CB будет реализован «правильный» onDestroy – станет все нормально.
Отредактировано Infocatcher (22-07-2010 02:31:38)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
okkamas_knife ты в посте №28 написал кнопку с функционалом с названием Проверить обновления Firefox и дополнений(Firefox), но дело в том что открываются окна, те а проверить в фоновом режиме, скажем по событию мыши, таймера, etc - можно? Те как проверить не открывая окно.
Отработка функции checkForUpdates(); не требуется, я про дополнения.
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует