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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№365113-02-2012 19:45:51

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

alexmac пишет

Как создать "узкую" кнопку?
Есть код......
Но кнопка получается шире 16px. В настройках панели инструментов включены "значки+текст" и "маленькие значки". Понятно, что при замене "значки+текст" на "только значки" всё получится, но нужно именно так.

Я попробовал твой код + "значки+текст" и "маленькие значки" на стандартной теме и кнопка получилась "узкая". Наверно это завысит от установленной темы, советую просто поменять иконку кнопки на "узкую".

Добавлено 13-02-2012 19:56:36

leex пишет

Вау! Нашел самую лучшую кнопку для переводов текста!!! Translate(Firefox 3.6 - 10)

Единственное, что я хотел бы спросить: какие фразы надо изменить в коде, чтоб по клику ЛКМ  перевод всей страницы не всплывал в новой вкладке гугловского переводчика сайтов? Чтоб текст переводился тем же способом, что встроен в гугл тулбар (на той же странице, а не в странице переводчика)

Просто измени настройки кнопки в меню кнопки - нажми правой клавишей мыши на кнопку и потом нажми на 'Переводит в текущей вкладке' левой клавишей мыши.

leex пишет

Дело в том, что этот гугл переводчик сайтов переводит не все страницы, например если я перевожу английский форум то нужно вводить логин и пароль (даже если я авторизирован)  да и то это не всегда срабатывает (вернее почти никогда не  срабатывает) и страница остается непереведенной

Я не знаю как это исправыть. :(

Отредактировано bunda1 (13-02-2012 20:01:58)

Отсутствует

 

№365213-02-2012 21:14:40

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

1fesFFFF пишет

Поставил - работает. Но не так как раньше. Сейчас открывается новое окно и с задержкой. А хотелось бы как раньше - белое окошко поверх текста страницы, которое нигде не "числится". Возможно?

Надо попросить автора кода -  Anton исправить код, но он тут редко появляется.

1fesFFFF пишет

Ещё раньше без выделения текста при нажатии кнопки переводилась вся страница, а сейчас пусто.

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

Выделить код

Код:

//Перевести..............
trtext = document. commandDispatcher. focusedWindow. getSelection (). toString ();
if (trtext.length == '0')
{
pageurl=encodeURIComponent(content.document.location.href)
var url = "http://translate.google.com/translate?hl=ru&ie=UTF8&prev=_t&sl=auto&tl=ru&u="+pageurl;
loadURI(url);
}
else
{               
var url1="http://translate.google.com/translate_t?prev=hp&hl=ru&js=y&text=";
var url2="&file=&sl=en&tl=ru&history_state0=#";
var urltr=url1+trtext+url2;

var xmlhttp
function gettransdata()
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }

xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",urltr,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
  {
  var trin=xmlhttp.responseText;

var chkpoint='<span id=result_box';
var arrayOfStrings = trin.split(chkpoint);

var trouttmp=arrayOfStrings[1];
var chkpoint='<div id=spell-place-holder';
var arrayOfStrings = trouttmp.split(chkpoint);

trouttmp1=arrayOfStrings[0];
trouttmp2=trouttmp1.replace(/<span.+?">/g,"")
trouttmp2=trouttmp2.replace(/<\/span>/g,"")
trouttmp2=trouttmp2.replace(/class="long_text">/g,"")
trouttmp2=trouttmp2.replace(/class="short_text">/g,"")
trouttmp2=trouttmp2.replace(/class="medium_text">/g,"")
trouttmp2=trouttmp2.replace(/<br><\/div><\/div>/g,"")

var jurl='data:text/html,<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><html><head><title></title><meta charset="utf-8"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>'+trouttmp2+'</body></html>';

var sizex = screen.width/2.2
var sizey = screen.height/2.2
var posx=screen.width-sizex;
var posy=screen.height-sizey;
var wnd = window.open(jurl, this.name, "width="+(sizex-30)+",height="+(sizey-87)+",screenX="+posx+",screenY="+posy+",status=no,scrollbars=yes,resizable=yes");
if (wnd.focus) {
  wnd.focus(); };

  }
}

function GetXmlHttpObject(){
if (window.XMLHttpRequest)
  { return new XMLHttpRequest();}
if (window.ActiveXObject)
  { return new ActiveXObject("Microsoft.XMLHTTP");}
return null;
}
gettransdata();
};

Отредактировано bunda1 (13-02-2012 23:06:20)

Отсутствует

 

№365313-02-2012 22:44:32

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

Re: Custom Buttons

bunda1 пишет

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

Выделить код

Код:

Код: 
//Перевести..............
trtext = document. commandDispatcher. focusedWindow. getSelection (). toString ();
if (trtext.length == '0')
{
loadURI("http://translate.google.com/translate?u="+content.location+"&hl=ru&ie=UTF-8&sl=auto&tl=ru");  
}
else
{               
var url1="http://translate.google.com/translate_t?prev=hp&hl=ru&js=y&text=";
var url2="&file=&sl=en&tl=ru&history_state0=#";
var urltr=url1+trtext+url2;

var xmlhttp
function gettransdata()
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }

xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",urltr,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
  {
  var trin=xmlhttp.responseText;

var chkpoint='<span id=result_box';
var arrayOfStrings = trin.split(chkpoint);

var trouttmp=arrayOfStrings[1];
var chkpoint='<div id=spell-place-holder';
var arrayOfStrings = trouttmp.split(chkpoint);

trouttmp1=arrayOfStrings[0];
trouttmp2=trouttmp1.replace(/<span.+?">/g,"")
trouttmp2=trouttmp2.replace(/<\/span>/g,"")
trouttmp2=trouttmp2.replace(/class="long_text">/g,"")
trouttmp2=trouttmp2.replace(/class="short_text">/g,"")
trouttmp2=trouttmp2.replace(/class="medium_text">/g,"")
trouttmp2=trouttmp2.replace(/<br><\/div><\/div>/g,"")

var jurl='data:text/html,<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><html><head><title></title><meta charset="utf-8"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>'+trouttmp2+'</body></html>';

var sizex = screen.width/2.2
var sizey = screen.height/2.2
var posx=screen.width-sizex;
var posy=screen.height-sizey;
var wnd = window.open(jurl, this.name, "width="+(sizex-30)+",height="+(sizey-87)+",screenX="+posx+",screenY="+posy+",status=no,scrollbars=yes,resizable=yes");
if (wnd.focus) {
  wnd.focus(); };

  }
}

function GetXmlHttpObject(){
if (window.XMLHttpRequest)
  { return new XMLHttpRequest();}
if (window.ActiveXObject)
  { return new ActiveXObject("Microsoft.XMLHTTP");}
return null;
}
gettransdata();
};


Отредактировано bunda1 (Сегодня 20:15:47)

Custom Buttons • View topic - How make the Easy Reader button changes remain persistent эту страницу не переводит.Сообщение"Запрошенной страницы не существует"

Отсутствует

 

№365413-02-2012 23:08:05

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

Re: Custom Buttons

bunda1 пишет

А разве эта страница существует ?

скрытый текст
http://img821.imageshack.us/img821/7034/thumbjwa.jpg

Существует эта:Custom Buttons • View topic - How make the Easy Reader button changes remain persistent Но результат именно такой:

скрытый текст
http://img821.imageshack.us/img821/7034/thumbjwa.jpg

Отредактировано SendInfo (13-02-2012 23:09:53)

Отсутствует

 

№365513-02-2012 23:10:11

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

SendInfo
Да есть глюк в коде, но я исправил, спасибо за замечание.

Отсутствует

 

№365613-02-2012 23:14:45

alexmac
Участник
 
Группа: Members
Зарегистрирован: 05-03-2007
Сообщений: 63
UA: Firefox 5.0

Re: Custom Buttons

bunda1 пишет

Я попробовал твой код + "значки+текст" и "маленькие значки" на стандартной теме и кнопка получилась "узкая". Наверно это завысит от установленной темы, советую просто поменять иконку кнопки на "узкую".

Спасибо. Но на 10-ке со стандартной схемой  кнопка остаётся "широкой". А на 3.6 - всё ОК.

Отсутствует

 

№365713-02-2012 23:52:56

leex
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 319
UA: Firefox 10.0

Re: Custom Buttons

bunda1 пишет

leex пишет:

Дело в том, что этот гугл переводчик сайтов переводит не все страницы, например если я перевожу английский форум то нужно вводить логин и пароль (даже если я авторизирован)  да и то это не всегда срабатывает (вернее почти никогда не  срабатывает) и страница остается непереведенной

Я не знаю как это исправыть. :(

Можно ли выдернуть код из переводчика в гугл тулбаре или из Wiktionary and Google Translate https://addons.mozilla.org/ru/firefox/a … -google-t/
и прикрутить его к кнопке? Для того чтоб не осуществлялось перенаправления исходной страницы в переводчик ?

скрытый текст
googletoolbarn.jpg

Отредактировано leex (14-02-2012 00:11:10)

Отсутствует

 

№365814-02-2012 00:10:06

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

leex пишет

Для того чтоб не осуществлялось перенаправления исходной страницы в переводчик ?

Зачем это нужно?

Отсутствует

 

№365914-02-2012 00:14:51

leex
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 319
UA: Firefox 10.0

Re: Custom Buttons

bunda1 пишет

Зачем это нужно?

Чтоб переводились все страницы иностранных форумов. Гугл тулбар и "Wiktionary and Google Translate" легко переводят такие сайты,
а страницы иностранных форумов подгруженные в переводчик остаются непереведенными
Ну и просто хочется, все три варианта перевода повесить на одну кнопку, дабы не плодить другие переводчики :)


добавлено


Ты извини если озадачил, bunda1
Знаешь, я уже так привык к этой кнопке что менять ее совсем не нужно ;)
Если что, так гугл тулбар под рукой :)

ps

А все-таки благодарю за эту волшебную кнопочку, как ни крути -  она приносит мне радость :)
И от души желаю всевозможных успехов и плодотворного программирования!

Отредактировано leex (15-02-2012 14:25:53)

Отсутствует

 

№366015-02-2012 19:20:24

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

leex пишет

А все-таки благодарю за эту волшебную кнопочку, как ни крути -  она приносит мне радость :)
И от души желаю всевозможных успехов и плодотворного программирования!

Спасибо, не часто меня так благодарят.

Отсутствует

 

№366116-02-2012 12:27:27

Ste_pan
Участник
 
Группа: Members
Откуда: приморский край п.сибирцево
Зарегистрирован: 13-02-2011
Сообщений: 63
UA: Firefox 7.0

Re: Custom Buttons

здраствуйте поставил кнопку перевод в контекстном меню заметил глюк при переводе текста c html тегами глючит перевод выделеного с заменой
например во такой текст The function below will safely parse simple HTML and return a DOM object which can be manipulated like web page elements. This will remove tags like <script>, <style>, <head>, <body>, <title>, and <iframe>. It will also remove all JavaScript, including element attributes that contain JavaScript.
взял от сюда
https://developer.mozilla.org/en/Code_snippets/HTML_to_DOM

Отсутствует

 

№366216-02-2012 14:26:08

Ste_pan
Участник
 
Группа: Members
Откуда: приморский край п.сибирцево
Зарегистрирован: 13-02-2011
Сообщений: 63
UA: Firefox 7.0

Re: Custom Buttons

вот набросал кнопочку левый клик перевод выделеного с заменой google
правый клик перевод выделеного с заменой bing
код в инилизацию

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

Выделить код

Код:

this. onclick = function (event)
{
    if ( event. shiftKey)
        return;
    if (event. button == 2)
        {
            event. preventDefault ();
            event. stopPropagation ();
            js_.bing()
        }
    if (event. button == 0)
        {
            js_.google()
        }
}    
var js_ =
{
    google: function ()
    {
        var doc = getBrowser (). contentDocument;
        sel = doc. defaultView. getSelection ();
        sel = escape (convertFromUnicode ("UTF-8", sel))
        var url='http://translate.google.ru/?q='+sel+"&hl=ru"+"&langpair=auto|ru&tbb=1"
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var div_ = doc. createElement ('div');
                div_.innerHTML =xmlhttp.responseText
                var TBODY_= div_.getElementsByClassName ("almost_half_cell")[0]
                var TBODY_=TBODY_. getElementsByTagName ("span") [0].textContent;
                var range = content.getSelection().getRangeAt(0);
                range.deleteContents();
                range.insertNode(document.createTextNode(TBODY_));
            }
        }
        xmlhttp.send(null);
    },
    bing: function ()
    {
        var url='http://www.microsofttranslator.com'
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var html_t = xmlhttp.responseText
                var ind1 =html_t.indexOf('Default.Constants.AjaxApiAppId')
                var st =html_t.slice(ind1+34,html_t.length)
                var ind2 =st.indexOf('*')+1
                var st =st.slice(0,ind2)
                var doc = getBrowser (). contentDocument;
                sel = doc. defaultView. getSelection ();
                sel = escape (convertFromUnicode ("UTF-8", sel))
                var url1='http://api.microsofttranslator.com/v2/ajax.svc/TranslateArray?appId=%22'+st+'%22&texts=[%22+'    
                var url=url1+sel+'%22]&from=%22%22&to=%22ru%22&oncomplete=_mstc2&onerror=_mste2&loc=ru&ctr=RussianFederation&ref=IE8Activity&rgp=2560b528'
                xmlhttp = new XMLHttpRequest()
                xmlhttp.open('GET',url, true);
                xmlhttp.onreadystatechange = function()
                {     
                    if (xmlhttp.readyState != 4) return  
                    if (xmlhttp.status == 200) 
                    {
                        var html_t = xmlhttp.responseText
                        var n='"TranslatedText":"'. toString ();
                        var h =html_t.indexOf(n)+n.length;
                        var st =html_t.slice(h,html_t.length)
                        var h =st.indexOf('.","TranslatedTextSentenceLengths');
                        var st =st.slice(0,h)
                        var range = content.getSelection().getRangeAt(0);
                        range.deleteContents();
                        range.insertNode(document.createTextNode(st));
                    }
                }
                xmlhttp.send(null);
            }
        }
        xmlhttp.send(null)    
    }
}

Добавлено 16-02-2012 14:29:35
мне показалось bing молось адекватней переводит

Отредактировано Ste_pan (16-02-2012 14:29:35)

Отсутствует

 

№366316-02-2012 15:12:00

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

Re: Custom Buttons

Ste_pan пишет

вот набросал кнопочку левый клик перевод выделеного с заменой google правый клик перевод выделеного с заменой bing
код в инилизацию

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

Выделить код

Код:

this. onclick = function (event)
{
    if ( event. shiftKey)
        return;
    if (event. button == 2)
        {
            event. preventDefault ();
            event. stopPropagation ();
            js_.bing()
        }
    if (event. button == 0)
        {
            js_.google()
        }
}    
var js_ =
{
    google: function ()
    {
        var doc = getBrowser (). contentDocument;
        sel = doc. defaultView. getSelection ();
        sel = escape (convertFromUnicode ("UTF-8", sel))
        var url='http://translate.google.ru/?q='+sel+"&hl=ru"+"&langpair=auto|ru&tbb=1"
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var div_ = doc. createElement ('div');
                div_.innerHTML =xmlhttp.responseText
                var TBODY_= div_.getElementsByClassName ("almost_half_cell")[0]
                var TBODY_=TBODY_. getElementsByTagName ("span") [0].textContent;
                var range = content.getSelection().getRangeAt(0);
                range.deleteContents();
                range.insertNode(document.createTextNode(TBODY_));
            }
        }
        xmlhttp.send(null);
    },
    bing: function ()
    {
        var url='http://www.microsofttranslator.com'
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var html_t = xmlhttp.responseText
                var ind1 =html_t.indexOf('Default.Constants.AjaxApiAppId')
                var st =html_t.slice(ind1+34,html_t.length)
                var ind2 =st.indexOf('*')+1
                var st =st.slice(0,ind2)
                var doc = getBrowser (). contentDocument;
                sel = doc. defaultView. getSelection ();
                sel = escape (convertFromUnicode ("UTF-8", sel))
                var url1='http://api.microsofttranslator.com/v2/ajax.svc/TranslateArray?appId=%22'+st+'%22&texts=[%22+'    
                var url=url1+sel+'%22]&from=%22%22&to=%22ru%22&oncomplete=_mstc2&onerror=_mste2&loc=ru&ctr=RussianFederation&ref=IE8Activity&rgp=2560b528'
                xmlhttp = new XMLHttpRequest()
                xmlhttp.open('GET',url, true);
                xmlhttp.onreadystatechange = function()
                {     
                    if (xmlhttp.readyState != 4) return  
                    if (xmlhttp.status == 200) 
                    {
                        var html_t = xmlhttp.responseText
                        var n='"TranslatedText":"'. toString ();
                        var h =html_t.indexOf(n)+n.length;
                        var st =html_t.slice(h,html_t.length)
                        var h =st.indexOf('.","TranslatedTextSentenceLengths');
                        var st =st.slice(0,h)
                        var range = content.getSelection().getRangeAt(0);
                        range.deleteContents();
                        range.insertNode(document.createTextNode(st));
                    }
                }
                xmlhttp.send(null);
            }
        }
        xmlhttp.send(null)    
    }
}


Добавлено Сегодня 13:29:35мне показалось bing молось адекватней переводит
                    Отредактировано Ste_pan (Сегодня 13:29:35)

Не работает Bing .

Отсутствует

 

№366416-02-2012 16:54:33

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

Re: Custom Buttons

Добрый всем вечерочек.
Подскажите, пожалуйста, что нужно дописать, чтобы преобразованная ссылка открывалась в новой вкладке.
Спасибо.

скрытый текст
function urldecode (str) {
    return decodeURIComponent((str + '').replace(/\+/g, '%20'));
}
urldecode('http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a');

Отредактировано useragentswitcher (16-02-2012 18:59:36)

Отсутствует

 

№366516-02-2012 19:28:42

Ste_pan
Участник
 
Группа: Members
Откуда: приморский край п.сибирцево
Зарегистрирован: 13-02-2011
Сообщений: 63
UA: Firefox 7.0

Re: Custom Buttons

SendInfo пишет

Не работает Bing .

а щас?

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

Выделить код

Код:

this. onclick = function (event)
{
    if ( event. shiftKey)
        return;
    if (event. button == 2)
        {
            event. preventDefault ();
            event. stopPropagation ();
            js_.bing()
        }
    if (event. button == 0)
        {
            js_.google()
        }
}    
var js_ =
{
    google: function ()
    {
        var doc = getBrowser (). contentDocument;
        sel = doc. defaultView. getSelection ();
        sel = escape (convertFromUnicode ("UTF-8", sel))
        var url='http://translate.google.ru/?q='+sel+"&hl=ru"+"&langpair=auto|ru&tbb=1"
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var div_ = doc. createElement ('div');
                div_.innerHTML =xmlhttp.responseText
                var TBODY_= div_.getElementsByClassName ("almost_half_cell")[0]
                var TBODY_=TBODY_. getElementsByTagName ("span") [0].textContent;
                var range = content.getSelection().getRangeAt(0);
                range.deleteContents();
                range.insertNode(document.createTextNode(TBODY_));
            }
        }
        xmlhttp.send(null);
    },
    bing: function ()
    {
        var url='http://www.microsofttranslator.com'
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var html_t = xmlhttp.responseText
                var ind1 =html_t.indexOf('Default.Constants.AjaxApiAppId')
                var st =html_t.slice(ind1+34,html_t.length)
                var ind2 =st.indexOf('*')+1
                var st =st.slice(0,ind2)
                var doc = getBrowser (). contentDocument;
                var sel = doc. defaultView. getSelection (). toString ();
                var pattern = /\r\n|\r|\n/g;
                var sel = sel .replace(pattern, " ");
                sel = escape (convertFromUnicode ("UTF-8", sel))
                var url1='http://api.microsofttranslator.com/v2/ajax.svc/TranslateArray?appId=%22'+st+'%22&texts=[%22+'    
                var url=url1+sel+'%22]&from=%22%22&to=%22ru%22&oncomplete=_mstc2&onerror=_mste2&loc=ru&ctr=RussianFederation&ref=IE8Activity&rgp=2560b528'
                xmlhttp = new XMLHttpRequest()
                xmlhttp.open('GET',url, true);
                xmlhttp.onreadystatechange = function()
                {     
                    if (xmlhttp.readyState != 4) return  
                    if (xmlhttp.status == 200) 
                    {
                        var html_t = xmlhttp.responseText
                        var n='"TranslatedText":"'. toString ();
                        var h =html_t.indexOf(n)+n.length;
                        var st =html_t.slice(h,html_t.length)
                        var h =st.indexOf('TranslatedTextSentenceLengths')-5;
                        var st =st.slice(0,h)
                        var range = content.getSelection().getRangeAt(0);
                        range.deleteContents();
                        range.insertNode(document.createTextNode(st));
                    }
                }
                xmlhttp.send(null);
            }
        }
        xmlhttp.send(null)    
    }
}

Отсутствует

 

№366616-02-2012 19:34:07

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Ste_pan пишет
SendInfo пишет

Не работает Bing .

а щас?

Теперь работает. При переводе несколько строчек текста перевод иногда уходит за пределы страницы.

Иногда не работает и пишет вместо перевода:

Выделить код

Код:

an error deserializing the object of type System.String[]. Encountered unexpected character '

Отредактировано bunda1 (16-02-2012 19:45:24)

Отсутствует

 

№366716-02-2012 20:25:29

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

Re: Custom Buttons

Ste_pan пишет
SendInfo пишет

Не работает Bing

а щас?

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

Выделить код

Код:

this. onclick = function (event)
{
    if ( event. shiftKey)
        return;
    if (event. button == 2)
        {
            event. preventDefault ();
            event. stopPropagation ();
            js_.bing()
        }
    if (event. button == 0)
        {
            js_.google()
        }
}    
var js_ =
{
    google: function ()
    {
        var doc = getBrowser (). contentDocument;
        sel = doc. defaultView. getSelection ();
        sel = escape (convertFromUnicode ("UTF-8", sel))
        var url='http://translate.google.ru/?q='+sel+"&hl=ru"+"&langpair=auto|ru&tbb=1"
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var div_ = doc. createElement ('div');
                div_.innerHTML =xmlhttp.responseText
                var TBODY_= div_.getElementsByClassName ("almost_half_cell")[0]
                var TBODY_=TBODY_. getElementsByTagName ("span") [0].textContent;
                var range = content.getSelection().getRangeAt(0);
                range.deleteContents();
                range.insertNode(document.createTextNode(TBODY_));
            }
        }
        xmlhttp.send(null);
    },
    bing: function ()
    {
        var url='http://www.microsofttranslator.com'
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var html_t = xmlhttp.responseText
                var ind1 =html_t.indexOf('Default.Constants.AjaxApiAppId')
                var st =html_t.slice(ind1+34,html_t.length)
                var ind2 =st.indexOf('*')+1
                var st =st.slice(0,ind2)
                var doc = getBrowser (). contentDocument;
                var sel = doc. defaultView. getSelection (). toString ();
                var pattern = /\r\n|\r|\n/g;
                var sel = sel .replace(pattern, " ");
                sel = escape (convertFromUnicode ("UTF-8", sel))
                var url1='http://api.microsofttranslator.com/v2/ajax.svc/TranslateArray?appId=%22'+st+'%22&texts=[%22+'    
                var url=url1+sel+'%22]&from=%22%22&to=%22ru%22&oncomplete=_mstc2&onerror=_mste2&loc=ru&ctr=RussianFederation&ref=IE8Activity&rgp=2560b528'
                xmlhttp = new XMLHttpRequest()
                xmlhttp.open('GET',url, true);
                xmlhttp.onreadystatechange = function()
                {     
                    if (xmlhttp.readyState != 4) return  
                    if (xmlhttp.status == 200) 
                    {
                        var html_t = xmlhttp.responseText
                        var n='"TranslatedText":"'. toString ();
                        var h =html_t.indexOf(n)+n.length;
                        var st =html_t.slice(h,html_t.length)
                        var h =st.indexOf('TranslatedTextSentenceLengths')-5;
                        var st =st.slice(0,h)
                        var range = content.getSelection().getRangeAt(0);
                        range.deleteContents();
                        range.insertNode(document.createTextNode(st));
                    }
                }
                xmlhttp.send(null);
            }
        }
        xmlhttp.send(null)    
    }
}

И сейчас не работает(наверно время ID истекло)

Отсутствует

 

№366817-02-2012 02:56:12

Ste_pan
Участник
 
Группа: Members
Откуда: приморский край п.сибирцево
Зарегистрирован: 13-02-2011
Сообщений: 63
UA: Firefox 7.0

Re: Custom Buttons

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

Отсутствует

 

№366917-02-2012 03:30:26

Ste_pan
Участник
 
Группа: Members
Откуда: приморский край п.сибирцево
Зарегистрирован: 13-02-2011
Сообщений: 63
UA: Firefox 7.0

Re: Custom Buttons

bunda1 пишет

Теперь работает. При переводе несколько строчек текста перевод иногда уходит за пределы страницы.

лишнии 2 символа срезал

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

Выделить код

Код:

this. onclick = function (event)
{
    if ( event. shiftKey)
        return;
    if (event. button == 2)
        {
            event. preventDefault ();
            event. stopPropagation ();
            js_.bing()
        }
    if (event. button == 0)
        {
            js_.google()
        }
}    
var js_ =
{
    google: function ()
    {
        var doc = getBrowser (). contentDocument;
        sel = doc. defaultView. getSelection ();
        sel = escape (convertFromUnicode ("UTF-8", sel))
        var url='http://translate.google.ru/?q='+sel+"&hl=ru"+"&langpair=auto|ru&tbb=1"
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var div_ = doc. createElement ('div');
                div_.innerHTML =xmlhttp.responseText
                var TBODY_= div_.getElementsByClassName ("almost_half_cell")[0]
                var TBODY_=TBODY_. getElementsByTagName ("span") [0].textContent;
                var range = content.getSelection().getRangeAt(0);
                range.deleteContents();
                range.insertNode(document.createTextNode(TBODY_));
            }
        }
        xmlhttp.send(null);
    },
    bing: function ()
    {
        var url='http://www.microsofttranslator.com'
        xmlhttp = new XMLHttpRequest()
        xmlhttp.open('GET',url, true);
        xmlhttp.onreadystatechange = function()
        {     
            if (xmlhttp.readyState != 4) return  
            if (xmlhttp.status == 200) 
            {
                var html_t = xmlhttp.responseText
                var ind1 =html_t.indexOf('Default.Constants.AjaxApiAppId')
                var st =html_t.slice(ind1+34,html_t.length)
                var ind2 =st.indexOf('*')+1
                var st =st.slice(0,ind2)
                var doc = getBrowser (). contentDocument;
                var sel = doc. defaultView. getSelection (). toString ();
                var pattern = /\r\n|\r|\n/g;
                var sel = sel .replace(pattern, " ");
                sel = escape (convertFromUnicode ("UTF-8", sel))
                var url1='http://api.microsofttranslator.com/v2/ajax.svc/TranslateArray?appId=%22'+st+'%22&texts=[%22+'    
                var url=url1+sel+'%22]&from=%22%22&to=%22ru%22&oncomplete=_mstc2&onerror=_mste2&loc=ru&ctr=RussianFederation&ref=IE8Activity&rgp=2560b528'
                xmlhttp = new XMLHttpRequest()
                xmlhttp.open('GET',url, true);
                xmlhttp.onreadystatechange = function()
                {     
                    if (xmlhttp.readyState != 4) return  
                    if (xmlhttp.status == 200) 
                    {
                        var html_t = xmlhttp.responseText
                        var n='"TranslatedText":"'. toString ();
                        var h =html_t.indexOf(n)+n.length;
                        var st =html_t.slice(h,html_t.length)
                        var h =st.indexOf('TranslatedTextSentenceLengths')-3;
                        var st =st.slice(0,h)
                        var range = content.getSelection().getRangeAt(0);
                        range.deleteContents();
                        range.insertNode(document.createTextNode(st));
                    }
                }
                xmlhttp.send(null);
            }
        }
        xmlhttp.send(null)    
    }
}

bunda1 пишет

Иногда не работает и пишет вместо перевода:

а эта ошибка воэникала когда в выделеное поподал перевод строки вроде не должна вылазить я его заменяю пробелом

Отсутствует

 

№367017-02-2012 19:32:36

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Ste_pan пишет

лишнии 2 символа срезал
а эта ошибка воэникала когда в выделеное поподал перевод строки вроде не должна вылазить я его заменяю пробелом

Все тоже. :(
Bing, google
При переводе несколько строчек текста перевод иногда уходит за пределы страницы.
Вот например здесь - http://custombuttons.mozdev.org/drupal/ … mileys-two
переведи

Выделить код

Код:

Can you guys post using BBCode to change the colors of the text and to highlight selected text?
I used to be able but now for some strange reason the color formatting doesn't work.

Bing
Иногда не работает и пишет вместо перевода:

Выделить код

Код:

an error deserializing the object of type System.String[]. Encountered unexpected character 'r'

Вот например здесь- http://custombuttons.mozdev.org/drupal/ … mileys-two
переведи

Выделить код

Код:

Updated to show rows of ten smileys plus a leading "row count number"

Отсутствует

 

№367117-02-2012 20:15:54

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

useragentswitcher пишет

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

Выделить код

Код:

var urldecode = ('http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a');
var tab = getBrowser().addTab(decodeURIComponent(urldecode), null, null);
getBrowser().selectedTab = tab;

Отсутствует

 

№367218-02-2012 00:29:46

LBra
Участник
 
Группа: Members
Зарегистрирован: 20-10-2011
Сообщений: 40
UA: Firefox 4.0

Re: Custom Buttons

okkamas_knife пишет

ps а есть какая нибудь штука просто следящая за временем и выполняющаяя действие в указанное время?
то есть не задержка а какойто обработчик событий связанных со временем, что типа указал ему 12:00:00  и он в это время срабатывает?
зы перерыл весь мдн по слову time ничего не нашел кроме вышеописанных таймаута и интервала.

Есть такая штука.
Пуск>Все программы>Стандартные>Служебные>Scheduled Tasks

Отсутствует

 

№367318-02-2012 02:04:02

1fesFFFF
Участник
 
Группа: Members
Зарегистрирован: 22-01-2010
Сообщений: 252
UA: Firefox 4.0

Re: Custom Buttons

Кто может написать такую кнопку:
Есть сайт forum.stepashka.com/t566482/ , на форуме этого сайта выкладывают видео с youtube.com, но на форуме автоматически и принудительно меняется вид плеера, т.е. вместо стандартного  стиля плеера youtube, там своя обложка и в ней нельзя выбрать качество видео или перейти на youtube, а также там логотип поверх видео закрывает картинку... В общем неприятная проблема с просмотром..
В качестве решения, мне надо кнопку, которая брала бы из исходного кода страницы ссылку на youtube.com и переходила на неё в новой вкладке. А то приходится постоянно делать это вручную. Ссылки на youtube могут быть как "длинные", так и "короткие" (youtu.be).

Отредактировано 1fesFFFF (18-02-2012 02:04:58)

Отсутствует

 

№367418-02-2012 03:05:36

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Nightly 13.0

Re: Custom Buttons

1fesFFFF
http://forum.mozilla-russia.org/viewtopic.php?id=52225


mzfx

Отсутствует

 

№367518-02-2012 04:22:49

1fesFFFF
Участник
 
Группа: Members
Зарегистрирован: 22-01-2010
Сообщений: 252
UA: Firefox 4.0

Re: Custom Buttons

iDev.Pi пишет

1fesFFFF
http://forum.mozilla-russia.org/viewtopic.php?id=52225

Не помогает!

Отсутствует

 

Board footer

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