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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.
  • Форумы
  •  » Сustom Buttons
  •  » Можно ли создать кнопку которая бы могла предлагать вставить текст.

№126-01-2012 22:54:17

SendInfo
.
 
Группа: Members
Зарегистрирован: 14-02-2011
Сообщений: 271
UA: Firefox 9.0

Можно ли создать кнопку которая бы могла предлагать вставить текст.

Одним словом автотекст, набор слов которые часто используемые вносится в базу далее при нажатии выбирается и вставляется в текстовую форму любого сайта.

Отсутствует

 

№226-01-2012 23:36:03

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Firefox 3.6

Re: Можно ли создать кнопку которая бы могла предлагать вставить текст.

SendInfo

в инициализацию

Выделить код

Код:

function pasting(){
var open=gettxt;
var theBox = document.commandDispatcher.focusedElement;
var startPos = theBox.selectionStart;
var endPos = theBox.selectionEnd;
var selectionLen = endPos - startPos
var oPosition = theBox.scrollTop;
var oHeight = theBox.scrollHeight;
var text=theBox.value.substring(0,startPos); 
var nHeight = theBox.scrollHeight - oHeight;
text +=open;
text +=theBox.value.substring(endPos, theBox.value.length);
theBox.value = text; 
theBox.selectionStart = endPos + open.length;
theBox.selectionEnd = endPos + open.length - selectionLen;
theBox.scrollTop = oPosition + nHeight;
};


var menu = <menupopup xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
              xmlns:cb="http://xsms.nm.ru/custombuttons/"
              onclick="this. parentNode. handleClick (event);">
              
              <menuitem label="пункт1"
                      class="menuitem-iconic"
                      image=""
                      cb:url="текст1"/>
 
             <menuitem label="пункт2"
                      class="menuitem-iconic"
                      image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACKElEQVR42qWTT0gUYRjGfzOz68y2M7s7zjq7o0t/KIUIojpEpyiJwjxYWUF0sUPdq0OB0CXsUlAnIQ8FSX/oj2TQpS7RJYrEoEgTA8MIJMmDKNXqPh1mAwsrocNzePn4fu/3Pu/3IIn/0a8FGIBrwXbb4KgFGwDXAM+AFGD8EQAkDNhUMHm416F82kX7bL41mAyuMhkNTG4A4aIAYnprxuDdpQy65aPeHBrIo+NpdCBrq5S0JoH9v78CIFk9GC2Z6E2IurPoeR71ZNEZF52qz2q9nymvSXDfhBbAXwhoAC4AU00W+lyM1e+jThddy6HbganeYkoPaqmcSDO0LkmPFYNqAEpAnw0zHSn0PUJDdeh9iIZD9LgWtdroaYAq9ehLET0KmNuS5FX1Ls3AzcDk61iIJgtxV9XHuphBSdDGBOrz0VyEPhVQu8N8It4STUC3AVODefQhRIcdNBLGgOs5tNxCQdJS5KXVkUmo30dnPZQ22AGQAbqAieYaNBuhJwH6WED9tWgmQnd9dM9HbTZamcvKc92K4zhjwAqqRrQAA0ULTRRQOYq96HTRQYfKNpuJvMnrnTYj5zzGlxk8AzoA5+cqIuDq2gQaL8RmlSN0x0d1JmPAEcCrjrsbWL7YTzzWaFF+kY8B00V0Mo3qTLoA859ZAIJdDpfPe0wPh8yPh6jNZtaG9iWHqWQRFUwOba3hyh6btw0mL4HNSwYsCFWYgEYDVgOpvwF+AIJCpbvsZMSPAAAAAElFTkSuQmCC"
                      cb:url="текст2"/>
             
             <menuitem label="пункт3"
                      class="menuitem-iconic"
                      image=""
                      cb:url="текст3"/>
              
      </menupopup>;
this. appendChild (custombuttonsUtils. makeXML (menu));
this. type = "menu";
this. orient = "horizontal";

this. handleClick = function (event)
{
    var menuitem = event. target;
    var url = menuitem. getAttributeNS ("http://xsms.nm.ru/custombuttons/", "url");
    gettxt=url;
    if (event. button == 0) pasting();
 


 
    else if (event. button == 1)
        gBrowser. addTab (url);
    this. open = false;
};

var that = this;
this.hideDropMarker = function() {
  var dropMarker = document.getAnonymousElementByAttribute(that, "class", "toolbarbutton-menu-dropmarker");
  if (dropMarker) {
    dropMarker.setAttribute("hidden", "true");
  } else {
    setTimeout(that.hideDropMarker, 10);
  }
}
this.hideDropMarker();


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№326-01-2012 23:52:34

SendInfo
.
 
Группа: Members
Зарегистрирован: 14-02-2011
Сообщений: 271
UA: Firefox 9.0

Re: Можно ли создать кнопку которая бы могла предлагать вставить текст.

okkamas_knife пишет

в инициализацию

Спасибо большое отлично работает.
Но как добавлять в базу слова и желательно без лишних изображений.

Отсутствует

 

№427-01-2012 02:54:31

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Firefox 3.6

Re: Можно ли создать кнопку которая бы могла предлагать вставить текст.

SendInfo пишет

Но как добавлять в базу слова и желательно без лишних изображений.

ну элементарно же
просто копируй кусок
от <menuitem label  до    cb:url="текст1"/>
иконку во втором пункте я оставил для примера


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№527-01-2012 17:43:58

SendInfo
.
 
Группа: Members
Зарегистрирован: 14-02-2011
Сообщений: 271
UA: Firefox 9.0

Re: Можно ли создать кнопку которая бы могла предлагать вставить текст.

okkamas_knife пишет

просто копируй кусок
от <menuitem label  до    cb:url="текст1"/>

Выделить код

Код:

/*Initialization Code*/
function pasting(){
var open=gettxt;
var theBox = document.commandDispatcher.focusedElement;
var startPos = theBox.selectionStart;
var endPos = theBox.selectionEnd;
var selectionLen = endPos - startPos
var oPosition = theBox.scrollTop;
var oHeight = theBox.scrollHeight;
var text=theBox.value.substring(0,startPos); 
var nHeight = theBox.scrollHeight - oHeight;
text +=open;
text +=theBox.value.substring(endPos, theBox.value.length);
theBox.value = text; 
theBox.selectionStart = endPos + open.length;
theBox.selectionEnd = endPos + open.length - selectionLen;
theBox.scrollTop = oPosition + nHeight;
};


var menu = <menupopup xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
              xmlns:cb="http://xsms.nm.ru/custombuttons/"
              onclick="this. parentNode. handleClick (event);">
              
              <menuitem label="Доброго времени суток"
                      class="menuitem-iconic"
                      image=""
                      cb:url="Доброго времени суток/>
 
             <menuitem label="Добрый день"
                      class="menuitem-iconic"
                      cb:url="Добрый день"/>
             
             <menuitem label="Добрый вечер"
                      class="menuitem-iconic"
                      image=""
                      cb:url="Добрый вечер"/>
                      
             <menuitem label="Добрый вечер"
                      class="menuitem-iconic"
                      image=""
                      cb:url="Добрый вечер"/>        
                      
              
      </menupopup>;
this. appendChild (custombuttonsUtils. makeXML (menu));
this. type = "menu";
this. orient = "horizontal";

this. handleClick = function (event)
{
    var menuitem = event. target;
    var url = menuitem. getAttributeNS ("http://xsms.nm.ru/custombuttons/", "url");
    gettxt=url;
    if (event. button == 0) pasting();
 


 
    else if (event. button == 1)
        gBrowser. addTab (url);
    this. open = false;
};

var that = this;
this.hideDropMarker = function() {
  var dropMarker = document.getAnonymousElementByAttribute(that, "class", "toolbarbutton-menu-dropmarker");
  if (dropMarker) {
    dropMarker.setAttribute("hidden", "true");
  } else {
    setTimeout(that.hideDropMarker, 10);
  }
}
this.hideDropMarker();

Попробовал добавить 3 слова,но слова не добавились. Просмотрите где ошибка в коде?

Отсутствует

 

№627-01-2012 17:50:00

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Firefox 3.6

Re: Можно ли создать кнопку которая бы могла предлагать вставить текст.

SendInfo пишет

Просмотрите где ошибка в коде?

cb:url="Доброго времени суток"/>
Кавычки!!


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№727-01-2012 18:27:33

SendInfo
.
 
Группа: Members
Зарегистрирован: 14-02-2011
Сообщений: 271
UA: Firefox 9.0

Re: Можно ли создать кнопку которая бы могла предлагать вставить текст.

Спасибо, точно

Отсутствует

 
  • Форумы
  •  » Сustom Buttons
  •  » Можно ли создать кнопку которая бы могла предлагать вставить текст.

Board footer

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