Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№127601-11-2009 10:37:10

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

okkamas_knife
Можно переконвертировать перед сохранением в utf-8:

Выделить код

Код:

var uc = Components. classes ["@mozilla.org/intl/scriptableunicodeconverter"]. createInstance (Components. interfaces. nsIScriptableUnicodeConverter);
uc. charset = "utf-8";
htmlSource = uc. ConvertFromUnicode (htmlSource);

в head html должна быть инструкция

Выделить код

Код:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№127702-11-2009 00:16:58

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

okkamas_knife

реально ли из CB загружать страничку парсить её заменяя определённый текст и только потом отдавать браузеру на дальнейшую обработку и отображение?

В принципе реально, но в плане практической реализации это неподходящий инструмент.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№127804-11-2009 12:17:01

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

okkamas_knife

можно ли её както поправить и заставить работать всегда?

Не знаю.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№127904-11-2009 19:51:39

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

okkamas_knife
Пример перекодирования в data:// : http://pastebin.mozilla-russia.org/102468
Размер картинки:

Выделить код

Код:

var img = document. getAnonymousElementByAttribute (this, "class", "toolbarbutton-icon");
img. style. maxWidth = "16px";
img. style. maxHeight = "16px";

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№128004-11-2009 22:57:34

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

okkamas_knife

может я чтото не так делаю?

Конечно. Делай так:

Выделить код

Код:

var THIS = this;
this. onstoprequest = function (res)
{
    THIS. image = res;
};

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№128106-11-2009 12:18:53

Jarichek
Member I
 
Группа: Members
Откуда: Минск
Зарегистрирован: 09-04-2009
Сообщений: 306
UA: Firefox 3.5

Re: Custom Buttons

okkamas_knife пишет

перевод странички...
перевод выделения

Антон давно сделал удобную кнопку, совмещающую эти две ;)

Выделить код

Код:

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%3E%u041F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%20Google%3C/name%3E%0D%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADPElEQVR4nGWTTWhjZRSG3/uTNr39mTqTn1KacagTqyKIlYJ2ExQCUhiprgpduRVFpLvZjOCsXEgWFqRk0RZcWLopmOnCQcPUsVBiTEZbalrGTJOZJm2aNGm++92b737fcdGZTfvAuznwnMV7OBouEI/HdSHEyNzcXCwajb7r8/n6T09P99bW1u4PDw8/SiQSbHd396IGBINBJJPJQDqdvssYK0kpO0SkiIiUUlII0SqVSr8lk8n3JycnjUsLZmdnb5bL5T+klPK5RNzp0BlzyHEFKXU+cxynubKy8tXExIQJABoAzM/PB6amptYikch70DRtv3iMh5kClPQglcKzozMMXhnAh7E3EL0RhCcEX19f/6xSqSxhdHRUT6VS39i2LYUQtJ7epm9/uEdHtSZJKUkpRa0zm75fvE+f3/mRmM3JcRyqVqulmZmZl7G6uhopl8sHtm3TduEpffH1T1Srn9FFavUmnTRaJKUkx3Go0WiojY2N22aj0Yj5fL6wJyVS6R289koYVwd7L3V07aUBAICUEkopSCk1v99/Sw+Hw5NSyi7OXZQrTQwFBy6f6DlKKSil4HkeOp0ODMO4btq23S+EgFQaAAKzO1BKQdd1AICmaSAiEBGUlBBCwHVduK4LzrlpHh4e7nHOVW+vofdbPmxkHuPWB6/D6vFD13UoRfj38TPsP6mBOxJjN64gdNUC5xz1er2l5/P5XxqNBvNEByPBLmS2n+LXzQK4zcH5ebp9GkAeEksPwJgNxhhs20axWMzo7Xb7US6Xyx7Xanh7LIhXRywklh7i9z/30Wy1YNsMfT0mrG4DGoCO64Ixhlqt5uTz+UVjZ2dHDA0NFYPB4Cd9fVb3W2MhnDZb+DldwD+FCk5OWvivVEX27ycY7APevHkNouNSNpu9l8vlvtMAIBQKGfF4/Mvp6em7oVCoxzAMOB0PjAsQEfxdPvi7DBgG4Dgu5fP5vxYWFj4uFAoHBgAwxmhvby8jpTywLOsdy7IGfKah9XSb56IOeJ7A0dGxs7m5mVpeXv60Xq8fcM7Pf+EFsVhMq1Qq18fHx2ej0ehHgUAgYpqm2W63W6VSKVMsFhe3trYeVKtV/sL5HwhICaDODiyAAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0D%0A%20%20%3Cmode%3E0%3C/mode%3E%0D%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bif%20%28%21window.%20cbTranslateButton2%29%0A%7B%0A%09getBrowser%20%28%29.%20addEventListener%0A%09%28%0A%09%09%22mouseup%22%2C%0A%09%09function%20%28event%29%0A%09%09%7B%0A%09%09%09if%20%28event.%20button%20%21%3D%200%29%0A%09%09%09%09return%3B%0A%09%09%09getBrowser%20%28%29.%20contentDocument.%20defaultView.%20cbTranslateButton2X%20%3D%20event.%20clientX%3B%0A%09%09%09getBrowser%20%28%29.%20contentDocument.%20defaultView.%20cbTranslateButton2Y%20%3D%20event.%20clientY%3B%0A%09%09%7D%2C%0A%09%09false%0A%09%29%3B%0A%09window.%20cbTranslateButton2%20%3D%20true%3B%0A%7D%5D%5D%3E%3C/initcode%3E%0D%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*%09original%20script%20is%20operajs%20Google-Translate%20v%201.6.12%0A%09opera%20ujs%20is%20http%3A//lexi.ucoz.ru/google-translate.js%0A%09original%20author%3A%20Lex1%0A%09modified%20by%20Anton%0A*/%0A%0Aconst%20UJS_TOOLBAR_ID%20%3D%20%22ujs_toolbar%22%3B%0Aconst%20UJS_GOOGLE_TRANSLATE_FRAME_ID%20%3D%20%22ujs_googletranslateframe%22%3B%0A%0Afunction%20cbTranslatorButton%20%28browser%29%0A%7B%0A%09this.%20doc%20%3D%20browser.%20contentDocument%3B%0A%09this.%20win%20%3D%20browser.%20contentDocument.%20defaultView%3B%0A%7D%0AcbTranslatorButton.%20prototype%20%3D%0A%7B%0A%09doc%3A%20null%2C%0A%09win%3A%20null%2C%0A%09toolbar%3A%20null%2C%0A%09clse%3A%20null%2C%0A%09frame%3A%20null%2C%0A%09%0A%09grabX%3A%200%2C%0A%09origX%3A%200%2C%0A%09grabY%3A%200%2C%0A%09origY%3A%200%2C%0A%09%0A%09handleEvent%3A%20function%20%28event%29%0A%09%7B%0A%09%09switch%20%28event.%20type%29%0A%09%09%7B%0A%09%09%09case%20%22mousedown%22%3A%0A%09%09%09%09this.%20tbOnMouseDown%20%28event%29%3B%0A%09%09%09%09break%3B%0A%09%09%09case%20%22mousemove%22%3A%0A%09%09%09%09this.%20tbOnMouseMove%20%28event%29%3B%0A%09%09%09%09break%3B%0A%09%09%09case%20%22mouseup%22%3A%0A%09%09%09%09this.%20tbOnMouseUp%20%28event%29%3B%0A%09%09%09%09break%3B%0A%09%09%09case%20%22click%22%3A%0A%09%09%09%09this.%20clseOnClick%20%28event%29%3B%0A%09%09%09%09break%3B%0A%09%09%09case%20%22load%22%3A%0A%09%09%09%09this.%20frameOnLoad%20%28event%29%3B%0A%09%09%09%09break%3B%0A%09%09%09default%3A%3B%0A%09%09%7D%0A%09%7D%2C%0A%09%0A%09tbOnMouseMove%3A%20function%20%28event%29%0A%09%7B%0A%09%09this.%20toolbar.%20style.%20left%20%3D%20this.%20origX%20+%20event.%20clientX%20-%20this.%20grabX%20+%20%27px%27%3B%0A%09%09this.%20toolbar.%20style.%20top%20%3D%20this.%20origY%20+%20event.%20clientY%20-%20this.%20grabY%20+%20%27px%27%3B%0A%09%7D%2C%0A%09%0A%09tbOnMouseUp%3A%20function%20%28event%29%0A%09%7B%0A%09%09this.%20doc.%20removeEventListener%20%28%27mousemove%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20this.%20toolbar.%20style.%20zIndex%20%3D%209997%3B%0A%09%7D%2C%0A%09%0A%09tbOnMouseDown%3A%20function%20%28event%29%0A%09%7B%0A%09%09if%20%28event.%20target%20%3D%3D%20this.%20toolbar%29%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20event.%20preventDefault%20%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%20toolbar.%20style.%20zIndex%20%3D%209998%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%20grabX%20%3D%20event.%20clientX%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%20grabY%20%3D%20event.%20clientY%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%20origX%20%3D%20parseInt%20%28this.%20toolbar.%20style.%20left%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%20origY%20%3D%20parseInt%20%28this.%20toolbar.%20style.%20top%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%20doc.%20addEventListener%20%28%27mousemove%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.%20doc.%20addEventListener%20%28%27mouseup%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%09%7D%2C%0A%09%0A%09removeEventListener%3A%20function%20%28element%2C%20eventType%2C%20captureFlag%29%0A%09%7B%0A%09%09try%0A%09%09%7B%0A%09%09%09element.%20removeEventListener%20%28eventType%2C%20this%2C%20captureFlag%29%3B%0A%09%09%7D%0A%09%09catch%20%28err%29%20%7B%7D%0A%09%7D%2C%0A%09%0A%09removeElement%3A%20function%20%28element%29%0A%09%7B%0A%09%09try%0A%09%09%7B%0A%09%09%09element.%20parentNode.%20removeChild%20%28element%29%3B%0A%09%09%7D%0A%09%09catch%20%28err%29%20%7B%7D%0A%09%7D%2C%0A%09%0A%09clseOnClick%3A%20function%20%28event%29%0A%09%7B%0A%09%09this.%20clse.%20removeEventListener%20%28%27click%27%2C%20this%2C%20false%29%3B%0A%09%09this.%20removeEventListener%20%28this.%20toolbar%2C%20%27mousedown%27%2C%20false%29%3B%0A%09%09this.%20removeEventListener%20%28this.%20doc%2C%20%27mousemove%27%2C%20false%29%3B%0A%09%09this.%20removeEventListener%20%28this.%20doc%2C%20%27mouseup%27%2C%20false%29%3B%0A%09%09this.%20removeEventListener%20%28this.%20frame%2C%20%27load%27%2C%20false%29%3B%0A%09%09this.%20removeElement%20%28this.%20toolbar%29%3B%0A%09%09this.%20removeElement%20%28this.%20frame%29%3B%0A%09%09this.%20frame%20%3D%20null%3B%0A%09%09this.%20clse%20%3D%20null%3B%0A%09%09this.%20toolbar%20%3D%20null%3B%0A%09%09this.%20win%20%3D%20null%3B%0A%09%09this.%20doc%20%3D%20null%3B%0A%09%7D%2C%0A%09%0A%09ujs_createWindow%3A%20function%20%28txt%29%0A%09%7B%0A%09%09var%20doc%20%3D%20this.%20doc%3B%0A%09%09var%20win%20%3D%20this.%20win%3B%0A%09%09var%20h%2C%20w%3B%0A%09%20%20%20%20var%20txtLen%20%3D%20txt.%20length%3B%0A%09%20%20%20%20var%20tbId%20%3D%20UJS_TOOLBAR_ID%3B%0A%09%20%20%20%20if%20%28arguments.%20length%20%3E%202%29%0A%09%20%20%20%20%20%20%20%20tbId%20+%3D%20arguments%20%5B2%5D%3B%0A%09%09var%20toolbar%20%3D%20doc.%20getElementById%20%28tbId%29%3B%0A%09%20%20%20%20if%20%28toolbar%29%0A%09%20%20%20%20%20%20%20%20toolbar.%20parentNode.%20removeChild%20%28toolbar%29%3B%0A%09%20%20%20%20toolbar%20%3D%20doc.%20createElement%20%28%27div%27%29%3B%0A%09%20%20%20%20this.%20toolbar%20%3D%20toolbar%3B%0A%09%20%20%20%20toolbar.%20id%20%3D%20tbId%3B%0A%09%09if%20%28arguments.%20length%20%3D%3D%205%29%0A%09%20%20%20%20%7B%0A%09%20%20%20%20%20%20%20%20w%20%3D%20arguments%20%5B3%5D%3B%0A%09%20%20%20%20%20%20%20%20h%20%3D%20arguments%20%5B4%5D%0A%09%20%20%20%20%7D%0A%09%20%20%20%20else%0A%09%20%20%20%20%7B%0A%09%20%20%20%20%20%20%20%20h%20%3D%2015%3B%0A%09%20%20%20%20%20%20%20%20w%20%3D%2020%3B%0A%09%20%20%20%20%20%20%20%20if%20%28txtLen%20%3E%202000%29%0A%09%20%20%20%20%20%20%20%20%7B%0A%09%20%20%20%20%20%20%20%20%20%20%20%20h%20%3D%2050%3B%0A%09%20%20%20%20%20%20%20%20%20%20%20%20w%20%3D%2066%0A%09%20%20%20%20%20%20%20%20%7D%0A%09%20%20%20%20%20%20%20%20else%20if%20%28txtLen%20%3E%20250%29%0A%09%20%20%20%20%20%20%20%20%7B%0A%09%20%20%20%20%20%20%20%20%20%20%20%20h%20%3D%2025%3B%0A%09%20%20%20%20%20%20%20%20%20%20%20%20w%20%3D%2033%0A%09%20%20%20%20%20%20%20%20%7D%3B%0A%09%20%20%20%20%20%20%20%20h%20%3D%20parseInt%20%28h%20*%20win.%20innerHeight%20/%2030%29%3B%0A%09%20%20%20%20%20%20%20%20w%20%3D%20parseInt%20%28w%20*%20win.%20innerWidth%20/%2050%29%0A%09%20%20%20%20%7D%3B%0A%09%09var%20title%20%3D%20%28arguments.%20length%20%3E%201%29%20%3Farguments%20%5B1%5D%3A%20%27%3Ca%20href%3D%22http%3A//translate.google.com/%22%20target%3D%22_blank%22%20style%3D%22text-decoration%3Anone%3Bcolor%3A%23000099%3Bfont%3A16px%20Times%20New%20Roman%3B%22%3EGoogle%20Translate%3C/a%3E%27%3B%0A%09%09toolbar.%20innerHTML%20%3D%20%27%3Cimg%20src%3D%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjIyt5EXfQAAAStJREFUOE+1k9tqhDAQhtOHqO37P4E3IlQFQQSvBBVEl1TBVVi1B+1C8XAx3QmNqIVqhBV+DEPmy8z8ycPX9Ruq6kLqqiRHvkfpiUjSMyGUJtB1HfR9D8MwCAlz6voNkEGCIGDJeZ5DURTCatoWNE0D4nk+jOMoDMBD8fDPpoGXu4OyLAPUutV1/N+KcPPNPaY4jidYktwG+hunlLL4ZmsI4EloxhxiGAY4jgNpmm6D8DQEcBj/I8SyrKnSzYr4bDzPm2CKoiwgu1rDTfN2eEWu6y4M2KxoPRNVVRcz4xXvdm0+k/nMwjDc5xraa9v2n5kgwDRNMdfQXtT6Us7jy9Z8n738Iw82O5/hUpag6zqQ0+kVmqZld0NUURSxl48M8v5xZQtZlg8Jc5HxA5fIE73hTda3AAAAAElFTkSuQmCC%22%20title%3D%22Close%22%20width%3D%2218%22%20height%3D%2218%22%3E%26nbsp%3B%27%20+%20title%20+%20%27%3Cdiv%3E%3C/div%3E%27%3B%0A%09%09toolbar.%20setAttribute%28%27style%27%2C%20%27position%3Afixed%3Bbackground%3Awhite%3Bdisplay%3Ablock%3Bvisibility%3Ahidden%3Bleft%3A0%3Btop%3A0%3Bheight%3Aauto%3Bwidth%3A%27%20+%20w%20+%20%27px%3Bfont%3A16px%20Times%20New%20Roman%3Bborder%3A1px%20solid%20gray%3Bpadding%3A3px%3Bz-index%3A9997%3Boverflow%3Avisible%3Bcursor%3Amove%3B%27%29%3B%0A%09%09toolbar.%20addEventListener%20%28%27mousedown%27%2C%20this%2C%20false%29%3B%0A%09%09var%20clse%20%3D%20toolbar.%20firstChild%3B%0A%09%09this.%20clse%20%3D%20clse%3B%0A%09%20%20%20%20clse.%20setAttribute%20%28%27style%27%2C%20%27float%3Aright%3Bbackground%3Awhite%3Bpadding%3A0%3Bmargin%3A0%3Bborder%3Anone%3Bcursor%3Apointer%3B%27%29%3B%0A%09%09clse.%20addEventListener%20%28%27click%27%2C%20this%2C%20false%29%3B%0A%09%09var%20textbar%20%3D%20toolbar.%20lastChild%3B%0A%09%20%20%20%20textbar.%20innerHTML%20%3D%20txt%3B%0A%09%09textbar.%20setAttribute%20%28%27style%27%2C%20%27display%3Ablock%3Bborder%3A1px%20solid%20%23aaaaaa%3Bmargin%3A2px%200%200%200%3Bpadding%3A4px%3Bbackground-color%3A%23fafcfe%3Bfont%3A14px%20Times%20New%20Roman%3Bheight%3A%27%20+%20h%20+%20%27px%3Bwidth%3Aauto%3Boverflow%3Aauto%3Bcursor%3Atext%3B%27%29%3B%0A%09%09doc.%20documentElement.%20appendChild%20%28toolbar%29%3B%0A%09%09var%20halfWidth%20%3D%20parseInt%20%28toolbar.%20offsetWidth%20/%202%29%3B%0A%09%09var%20strict%20%3D%20doc.%20compatMode%20%3D%3D%20%27CSS1Compat%27%3B%0A%09%09var%20mX%20%3D%20%28strict%3F%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20doc.%20documentElement.%20clientWidth%3A%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20doc.%20body.%20clientWidth%29%20-%20toolbar.%20offsetWidth%3B%0A%09%09var%20mY%20%3D%20%28strict%3F%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20doc.%20documentElement.%20clientHeight%3A%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20doc.%20body.%20clientHeight%29%20-%20toolbar.%20offsetHeight%3B%0A%09%20%20%20%20var%20lastClickX%20%3D%20win.%20cbTranslateButton2X%3B%0A%09%20%20%20%20var%20lastClickY%20%3D%20win.%20cbTranslateButton2Y%3B%0A%09%09toolbar.%20style.%20left%20%3D%20%28%28lastClickX%20%3C%20mX%20+%20halfWidth%29%3F%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28lastClickX%20%3E%20halfWidth%3F%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28lastClickX%20-%20halfWidth%29%3A%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%29%3A%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mX%29%20+%20%22px%22%3B%0A%09%09toolbar.%20style.%20top%20%3D%20%28%28lastClickY%20%3C%20mY%29%3F%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20lastClickY%3A%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mY%29%20+%20%22px%22%3B%0A%09%09toolbar.%20style.%20visibility%20%3D%20%27visible%27%3B%0A%09%20%20%20%20return%20textbar%3B%0A%09%7D%2C%0A%09%0A%09frameOnLoad%3A%20function%20%28event%29%0A%09%7B%0A%09%09var%20fr%20%3D%20event.%20currentTarget%3B%0A%09%09fr.%20removeEventListener%20%28%27load%27%2C%20this%2C%20false%29%3B%0A%09%09var%20tbId%20%3D%20fr.%20id.%20substring%20%28UJS_GOOGLE_TRANSLATE_FRAME_ID.%20length%29%3B%0A%09%09var%20toolbar%20%3D%20this.%20doc.%20getElementById%20%28UJS_TOOLBAR_ID%20+%20tbId%29%3B%0A%09%09var%20frdoc%20%3D%20fr.%20contentDocument%3B%0A%09%09var%20a%20%3D%20frdoc.%20getElementById%20%28%27autotrans%27%29%3B%0A%09%09var%20title%20%3D%20%28a%20%26%26%20%21/%23808080/.%20test%20%28a.%20innerHTML%29%29%3F%0A%09%09%09%09%09%09%27%26nbsp%3B-%26nbsp%3B%27%20+%20a.%20textContent.%20replace%20%28/%5E.+%3A%20%7C%20%5B%28%5CxBB%5D.+%24/g%2C%20%27%27%29%3A%0A%09%09%09%09%09%09%27%27%3B%0A%09%09var%20result%20%3D%20frdoc.%20getElementById%20%28%27result_box%27%29.%20innerHTML%3B%0A%09%09var%20ancor%20%3D%20toolbar.%20getElementsByTagName%20%28%22a%22%29%20%5B0%5D%3B%0A%09%09ancor.%20innerHTML%20+%3D%20title%3B%0A%09%09ancor.%20nextSibling.%20innerHTML%20%3D%20result%3B%0A%09%09setTimeout%0A%09%09%28%0A%09%09%09function%20%28%29%0A%09%09%09%7B%0A%09%09%09%09fr.%20parentNode.%20removeChild%20%28fr%29%3B%0A%09%09%09%7D%2C%0A%09%09%090%0A%09%09%29%3B%0A%09%7D%2C%0A%09%0A%09google_translate%3A%20function%20%28language%29%0A%09%7B%0A%09%09var%20doc%20%3D%20this.%20doc%3B%0A%09%09var%20win%20%3D%20this.%20win%3B%0A%09%09var%20t%20%3D%20document.%20commandDispatcher.%20focusedWindow.%20getSelection%20%28%29.%20toString%20%28%29%3B%0A%09%09var%20lng%20%3D%20%28win.%20navigator.%20language%20%3D%3D%20%27ru%27%29%3F%20%27ru%27%3A%20%27en%27%3B%0A%09%20%20%20%20if%20%28t%20%26%26%20location.%20hostname%20%21%3D%20%27translate.google.com%27%29%0A%09%20%20%20%20%7B%0A%09%20%20%20%20%20%20%20%20this.%20ujs_createWindow%0A%09%20%20%20%20%20%20%20%20%28%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%28lng%20%3D%3D%20%27ru%27%3F%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27%5Cu041F%5Cu0435%5Cu0440%5Cu0435%5Cu0432%5Cu043E%5Cu0434%5Cu0438%5Cu043C%27%3A%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27Translating%27%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%29%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27%5Cu2026%27%2C%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27%3Ca%20href%3D%22http%3A//translate.google.com/%22%20target%3D%22_blank%22%20style%3D%22text-decoration%3Anone%3Bcolor%3A%23000099%3Bfont%3A16px%20Times%20New%20Roman%3B%22%3EGoogle%20Translate%3C/a%3E%27%2C%0A%09%20%20%20%20%20%20%20%20%20%20%20%20btoa%20%28escape%20%28t%29%29%0A%09%20%20%20%20%20%20%20%20%29%3B%0A%09%09%09var%20gtfId%20%3D%20UJS_GOOGLE_TRANSLATE_FRAME_ID%3B%0A%09%09%09var%20fr%20%3D%20doc.%20getElementById%20%28gtfId%29%3B%0A%09%20%20%20%20%20%20%20%20if%20%28%21fr%29%0A%09%20%20%20%20%20%20%20%20%20%20%20%20fr%20%3D%20doc.%20createElement%20%28%27iframe%27%29%3B%0A%09%20%20%20%20%20%20%20%20this.%20frame%20%3D%20fr%3B%0A%09%09%09fr.%20setAttribute%20%28%27id%27%2C%20gtfId%20+%20btoa%20%28escape%20%28t%29%29%29%3B%0A%09%20%20%20%20%20%20%20%20fr.%20setAttribute%20%28%27frameborder%27%2C%20%270%27%29%3B%0A%09%09%09fr.%20setAttribute%20%28%27style%27%2C%20%27width%3A0px%3Bheight%3A0px%3Bvisibility%3Ahidden%3Bposition%3Aabsolute%3Bleft%3A-999em%3B%27%29%3B%0A%09%09%09fr.%20setAttribute%0A%09%20%20%20%20%20%20%20%20%28%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27src%27%2C%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27http%3A//translate.google.com/translate_t%3Ftext%3D%27%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20encodeURIComponent%20%28t%29%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27%26hl%3D%27%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20lng%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27%26langpair%3D%27%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20language%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27%26tbb%3D1%26ujs%3Dgtt%27%0A%09%20%20%20%20%20%20%20%20%29%3B%0A%09%09%09fr.%20addEventListener%20%28%27load%27%2C%20this%2C%20false%29%3B%0A%09%20%20%20%20%20%20%20%20doc.%20documentElement.%20appendChild%20%28fr%29%3B%0A%09%20%20%20%20%7D%0A%09%20%20%20%20else%0A%09%20%20%20%20%7B%0A%09%20%20%20%20%09getBrowser%20%28%29.%20addTab%0A%09%20%20%20%20%20%20%20%20%28%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27http%3A//translate.google.com/translate%3Fu%3D%27%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20escape%20%28doc.%20location.%20href%29%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27%26hl%3D%27%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20lng%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27%26langpair%3D%27%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20language%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%27%26tbb%3D1%27%20+%0A%09%20%20%20%20%20%20%20%20%20%20%20%20%28doc.%20charset%3F%20%27%26ie%3D%27%20+%20doc.%20charset%3A%20%27%27%29%2C%0A%09%20%20%20%20%20%20%20%20%20%20%20%20null%2C%0A%09%20%20%20%20%20%20%20%20%20%20%20%20null%0A%09%20%20%20%20%20%20%20%20%29%3B%0A%09%09%7D%0A%09%7D%0A%7D%3B%0A%0Avar%20ct%20%3D%20getBrowser%20%28%29.%20selectedTab%3B%0Aif%20%28%21ct.%20cbTranslateButton5%29%0A%09ct.%20cbTranslateButton5%20%3D%20%5B%5D%3B%0Avar%20translator%20%3D%20new%20cbTranslatorButton%20%28getBrowser%20%28%29%29%3B%0Act.%20cbTranslateButton5.%20push%20%28translator%29%3B%0Atranslator.%20google_translate%20%28%22auto%7Cru%22%29%3B%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%5B%5D%5D%3E%3C/help%3E%0D%0A%20%20%3Cattributes/%3E%0D%0A%3C/custombutton%3E

Отсутствует

 

№128206-11-2009 15:28:15

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

okkamas_knife

можно ли в качестве иконки использовать несколько изображений одновременно

Уверен, что можно, но думаю, что это непросто.
Там, скорее всего, надо надо разбираться со стилями которые назначаются анонимному контенту стандартными биндингами.
Разбираться лень, да и уверенности нет в том, что разберусь, а this. appendChild (img) не работает.

Если рядом с кнопкой картинку поставить - то это просто:

Выделить код

Код:

this. parentNode. insertBefore (img, this. nextSibling);

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№128306-11-2009 17:31:29

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

okkamas_knife

где там ошибка?

insertBefore не вставляет строки.

Вот так:

Выделить код

Код:

var img = document. createElement ("image");
img. setAttribute ("src", "data://...");
this. parentNode. insertBefore (img, this. nextSibling);

будет работать.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№128409-11-2009 16:11:38

Chelodoi Molovek
Участник
 
Группа: Members
Зарегистрирован: 24-06-2008
Сообщений: 99
UA: Firefox 3.5

Re: Custom Buttons

а можно ли как-то сделать кнопку аналогичную существующей от расширения, точнее ImgLikeOpera, только с парой изменений?
нужно чтобы было только два циклически переключающихся режима (загружать все/ загружать только из кеша), и чтобы кнопка присутствовала в окнах, открытых яваскриптом.

Отредактировано Chelodoi Molovek (09-11-2009 17:29:00)

Отсутствует

 

№128510-11-2009 14:02:32

Leopoldus
Участник
 
Группа: Members
Зарегистрирован: 15-04-2007
Сообщений: 110
UA: Mozilla 1.8

Re: Custom Buttons

В общем, почитал я этот топик, но не нашёл ответа на пару самых простых вопросов (может, читал недостаточно внимательно). Пожалуйста, объясните новичку:
1) сабж предназначен только для FF или для Thunderbird тоже?
2) если сабж работает с TB, то где можно посмотреть коллекции готовых кнопок?
3) в чём отличие от расширения с очень похожим названием Custom Buttons 2 ?

Заранее спасибо!

Отсутствует

 

№128610-11-2009 16:14:44

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

okkamas_knife

можешь его переделать

Попробуй

скрытый текст

Выделить код

Код:

var THIS = this;
this. type = "checkbox";
var redirectcleanerOverlay = {

    init: function() {
        var appcontent = document.getElementById("appcontent");
        appcontent.addEventListener("DOMContentLoaded", redirectcleanerOverlay.load, true);
    },
    
    load: function(event) {
        var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.redirectcleaner.");
        if(!THIS. checked) { return; }
        
        /* Clean Links */
        var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("extensions.redirectcleaner.");
        var doc = event.originalTarget;
        var links = doc.getElementsByTagName("a");
        for(var i=0; i < links.length; i++) {
            var clean = redirectcleanerOverlay.clean(links[i].href);
            if(links[i].href != clean) {
                links[i].setAttribute("redirectcleaner", links[i].href);
                links[i].href = clean;
            }
        }
    },
    
    clean: function(url) {
        
        /* javascript */
        if(url.match(/^(?:javascript)/i)) {
            
            if(url.match(/[']((?:http|https|ftp)(?::)[^']+)/i)) {
                //redirectcleanerOverlay.dump("Redirect Cleaner: javascript" + "\n" + url + "\n" + RegExp.$1);
                return redirectcleanerOverlay.clean(RegExp.$1);
            }
            
            if(url.match(/["]((?:http|https|ftp)(?::)[^"]+)/i)) {
                //redirectcleanerOverlay.dump("Redirect Cleaner: javascript" + "\n" + url + "\n" + RegExp.$1);
                return redirectcleanerOverlay.clean(RegExp.$1);
            }
            
        }
        
        /* http|https|ftp */
        if(url.match(/^(?:http|https|ftp)/i)) {
            
            if(url.match(/.((?:http|https|ftp)(?::)[^?]+[?][^%]+$)/i)) {
                //redirectcleanerOverlay.dump("Redirect Cleaner: http|https|ftp" + "\n" + url + "\n" + RegExp.$1);
                return redirectcleanerOverlay.unescape(RegExp.$1);
            }
            
            if(url.match(/.((?:http|https|ftp)(?::|%3A|%253A)[^&]+)/i)) {
                //redirectcleanerOverlay.dump("Redirect Cleaner: http|https|ftp" + "\n" + url + "\n" + RegExp.$1);
                return redirectcleanerOverlay.unescape(RegExp.$1);
            }
            
            if(url.match(/[?&=*:](www[^?]+[?][^%]+$)/i)) {
                //redirectcleanerOverlay.dump("Redirect Cleaner: www" + "\n" + url + "\n" + RegExp.$1);
                return redirectcleanerOverlay.unescape("http://" + RegExp.$1);
            }
            if(url.match(/[?&=*:](www[^&]+)/i)) {
                //redirectcleanerOverlay.dump("Redirect Cleaner: www" + "\n" + url + "\n" + RegExp.$1);
                return redirectcleanerOverlay.unescape("http://" + RegExp.$1);
            }
            
        }
        
        return url;
        
    },
    
    unescape: function(url) {
        
        if(url.match(/^(?:http|https|ftp)(?:%3A)/i)) {
            //redirectcleanerOverlay.dump("Redirect Cleaner: unescape" + "\n" + url);
            return redirectcleanerOverlay.clean(decodeURIComponent(url));
        }
        
        if(url.match(/^(?:http|https|ftp)(?:%253A)/i)) {
            //redirectcleanerOverlay.dump("Redirect Cleaner: unescape" + "\n" + url);
            return redirectcleanerOverlay.clean(decodeURIComponent(decodeURIComponent(url)));
        }
        
        if(url.match(/(?:%)/i)) {
            //redirectcleanerOverlay.dump("Redirect Cleaner: unescape" + "\n" + url);
            return redirectcleanerOverlay.clean(decodeURIComponent(url));
        }
        
        return redirectcleanerOverlay.clean(url);
        
    }
};
redirectcleanerOverlay.init ();


в раздел "Инициализация", если это не работает - считай, что не могу.

Chelodoi Molovek

а можно ли как-то сделать кнопку аналогичную существующей от расширения, точнее ImgLikeOpera, только с парой изменений?

Можно, но вряд ли кто возьмется.
Если с установленным ILO, тогда, наверное, так:

Выделить код

Код:

switch (this. iloPolicy)
{
    case 1:
        this. iloPolicy = 3;
        break;
    case 3:
        this. iloPolicy = 1;
        break;
    default:
        this. iloPolicy = 1;
        break;
}
ILO. indicatorClick (this. iloPolicy);

чтобы кнопка присутствовала в окнах, открытых яваскриптом.

Спасибо за замечание.
Это из-за класса chromeclass-toolbar-additional
Если в разделе "Инициализация" будет строка

Выделить код

Код:

this. className = "toolbarbutton-1";

кнопка будет отображаться в таких окнах.

Leopoldus
1. И для TB тоже
3. В разных мелочах.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№128710-11-2009 16:33:59

Leopoldus
Участник
 
Группа: Members
Зарегистрирован: 15-04-2007
Сообщений: 110
UA: Mozilla 1.8

Re: Custom Buttons

Anton
Спасибо за разъяснение. А где всё-таки готовые кнопки берутся? Или каждый сам для себя пишет?

Отсутствует

 

№128810-11-2009 17:08:59

Leopoldus
Участник
 
Группа: Members
Зарегистрирован: 15-04-2007
Сообщений: 110
UA: Mozilla 1.8

Re: Custom Buttons

okkamas_knife

кто сам пишет кто ищет готовые
кто берёт готовые и переделывает под себя..

Да где берёт-то??

Отсутствует

 

№128910-11-2009 17:19:19

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

Leopoldus
А что надо ?
Если я смогу сделать кнопку для Thunderbird, я сделаю.
Если нет, то, скорее всего, никто не сделает : )


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№129010-11-2009 19:28:23

Chelodoi Molovek
Участник
 
Группа: Members
Зарегистрирован: 24-06-2008
Сообщений: 99
UA: Firefox 3.5

Re: Custom Buttons

Anton
класс! работает. :D
а можешь подсказать еще как сделать, чтобы иконки было две (менялась на разных режимах) и открытие настроек ILO по нажатию средней кнопкой мыши?

Отредактировано Chelodoi Molovek (10-11-2009 22:36:33)

Отсутствует

 

№129110-11-2009 19:30:50

Leopoldus
Участник
 
Группа: Members
Зарегистрирован: 15-04-2007
Сообщений: 110
UA: Mozilla 1.8

Re: Custom Buttons

Anton

А что надо ?

Э-э, если бы я знал, давно объяснил бы. Я просто хотел для начала посмотреть, какие кнопки существуют и не могут ли они облегчить мне жизнь.
Впрочем, одно конкретное пожелание имеется. Хочу кнопку, чтобы она переключала кодировку и атрибуты шрифта в окне message composer. Такое можно сделать?\
А ещё есть мечта переключать формат текущего окна komposer между plain text и HTML (как в MS Outlook), но это, наверное, никакой кнопкой не сделаешь.

Отсутствует

 

№129210-11-2009 22:42:02

Chelodoi Molovek
Участник
 
Группа: Members
Зарегистрирован: 24-06-2008
Сообщений: 99
UA: Firefox 3.5

Re: Custom Buttons

Leopoldus
несколько страниц назад я спрашивал ссылки на готовые кнопки, вот http://forum.mozilla-russia.org/viewtop … 60#p385660
еще в этой теме кое-что можно найти интересное. только на стоит забывать фразу "не плоди сущности без надобности". :)

а что такое окно message composer? в ФФ ведь нет встроенного почтовика.

Отредактировано Chelodoi Molovek (10-11-2009 22:42:21)

Отсутствует

 

№129310-11-2009 23:10:48

Leopoldus
Участник
 
Группа: Members
Зарегистрирован: 15-04-2007
Сообщений: 110
UA: Mozilla 1.8

Re: Custom Buttons

Chelodoi Molovek

а что такое окно message composer? в ФФ ведь нет встроенного почтовика.

Есть! Он называется Thunderbird [thunderbird] ;)

Отсутствует

 

№129411-11-2009 17:16:49

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

Chelodoi Molovek

как сделать, чтобы иконки было две (менялась на разных режимах) и открытие настроек ILO по нажатию средней кнопкой мыши?

Раздел "Код"

Выделить код

Код:

var img3 = "file:///c:/image3.png";
var img1 = "file:///c:/image1.png";
switch (this. iloPolicy)
{
    case 1:
        this. iloPolicy = 3;
        this. image = img3;
        break;
    case 3:
        this. iloPolicy = 1;
        this. image = img1;
        break;
    default:
        break;
}
ILO. indicatorClick (this. iloPolicy);


Раздел "Инициализация"

Выделить код

Код:

var img1 = "file:///m:/redicon.png";
this. image = img1;
this. iloPolicy = 1;
ILO. indicatorClick (this. iloPolicy);
this. onclick = function (event)
{
    if (event. button == 1)
        ILO. openSettingsWindow ();
}

Leopoldus

чтобы она переключала кодировку и атрибуты шрифта в окне message composer. Такое можно сделать?\

Как это должно выглядеть ?

переключать формат текущего окна komposer между plain text и HTML

Так:

Выделить код

Код:

if (!this. formatOption)
    this. formatOption = "format_plain";
var target = document. getElementById (this. formatOption);
OutputFormatMenuSelect (target);
target. setAttribute ("checked", "true");
switch (this. formatOption)
{
    case "format_plain":
        this. formatOption = "format_html";
        break;
    case "format_html":
        this. formatOption = "format_plain";
        break;
    default:;
}

?


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№129511-11-2009 21:50:11

Leopoldus
Участник
 
Группа: Members
Зарегистрирован: 15-04-2007
Сообщений: 110
UA: Mozilla 1.8

Re: Custom Buttons

Anton пишет

Leopoldus

чтобы она переключала кодировку и атрибуты шрифта в окне message composer. Такое можно сделать?

Как это должно выглядеть ?

Ну, на общем уровне идея такая: несколько кнопок с забитыми в них вариантами настроек шрифта (и кодировки) из меню Tools -> Options -> Display -> Formating -> Fonts & Encodings -> Fonts.. Скажем, нажал красную кнопочку на панели - и текущий пропорциональный дефолтный шрифт для кодировки Cyrillic стал Sans-Serif; Arial; 8 px. Нажал зелёную кнопочку - и стало: Serif; Book Antigua; 20 px.
Не знаю, осуществимо ли это.

Отредактировано Leopoldus (11-11-2009 21:51:01)

Отсутствует

 

№129611-11-2009 23:39:25

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Custom Buttons

Leopoldus

Ну, на общем уровне идея такая: несколько кнопок с забитыми в них вариантами настроек шрифта (и кодировки) из меню Tools -> Options -> Display -> Formating -> Fonts & Encodings -> Fonts.. Скажем, нажал красную кнопочку на панели - и текущий пропорциональный дефолтный шрифт для кодировки Cyrillic стал Sans-Serif; Arial; 8 px. Нажал зелёную кнопочку - и стало: Serif; Book Antigua; 20 px.

Наверное, так (для Cyrillic):

Красная:

Выделить код

Код:

custombuttonsUtils. setPrefs ("font.default.x-cyrillic", "sans-serif");
custombuttonsUtils. setPrefs ("font.name.serif.x-cyrillic", "Arial");
custombuttonsUtils. setPrefs ("font.size.variable.x-cyrillic", 8);

Зеленая:

Выделить код

Код:

custombuttonsUtils. setPrefs ("font.default.x-cyrillic", "serif");
custombuttonsUtils. setPrefs ("font.name.serif.x-cyrillic", "Book Antigua");
custombuttonsUtils. setPrefs ("font.size.variable.x-cyrillic", 20);

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№129712-11-2009 12:33:38

Leopoldus
Участник
 
Группа: Members
Зарегистрирован: 15-04-2007
Сообщений: 110
UA: Mozilla 1.8

Re: Custom Buttons

Anton
И всё так просто, что даже несолидно как-то? :/
Спасибо! Буду проверять, о результатах непременно сообщу!

Отсутствует

 

№129812-11-2009 16:04:45

Chelodoi Molovek
Участник
 
Группа: Members
Зарегистрирован: 24-06-2008
Сообщений: 99
UA: Firefox 3.5

Re: Custom Buttons

Anton
спасибо. а здесь что должно лежать? var img1 = "file:///m:/redicon.png";

Отсутствует

 

№129912-11-2009 19:59:09

and23
Участник
 
Группа: Members
Зарегистрирован: 21-08-2006
Сообщений: 19
UA: Opera 10.0

Re: Custom Buttons

Leopoldus пишет

Хочу кнопку, чтобы она переключала кодировку и атрибуты шрифта в окне message composer

Точно! Я тоже когда-то хотел такое, но сделать не смог. И это полезно не только в просмотре и составлении сообщения, но и в основном окне.

Суть. Есть меню Вид->Кодировка->... Далеко и неудобно лазить, чтоб привести кракозябровое письмо к читаемому виду. Особенно если учесть, что дальше ещё подменю: "Кириллица" (или "Восточноевропейская"). Хотелось бы вытянуть это подменю в подменю кнопки.

Я для себя частично решил этот вопрос, вытянув подменю "Кодировка" с помощью MenuManipulator в основную строку. Но всё равно не идеал...

Отсутствует

 

№130012-11-2009 20:41:26

useragentswitcher
Участник
 
Группа: Members
Зарегистрирован: 12-11-2009
Сообщений: 35
UA: Safari 4.0

Re: Custom Buttons

Не получается создать работающий код.
Нужно найти в меню useragentswitcher активный (выбранный) в данный момент ЮзерАгент и выбрать следующий за ним.
Вот в скриншотах все атрибуты:
активный ЮА http://s50.radikal.ru/i130/0911/62/4ae01c39f462.gif
неактивный ЮА http://s57.radikal.ru/i157/0911/c4/4b85c7968398.gif
Поможите кто может.

PS. Пока что выбираю практически вручную:
var y = document. getElementsByAttribute("id", "useragentswitcher-user-agent-73-menu");
y.item(0).click();
И так 73 раза :)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]