okkamas_knife[/b]
]из такого куска
<iframe src="http://vk.com/video_ext.php?oid=55588330&id=161236641&hash=307de7f4c60719a3" width="607" height="360" frameborder="0"></iframe>
делает такой
http://vk.com/video_ext.php?oid=55588330&id=161236641&hash=307de7f4c60719a3
команда
var url=url.slice(13,-52);
для чтения из буфера обмена
используем
var url=readFromClipboard();
то есть кнопка берущая из буфера обмена тот код и открывающая в новой вкладке обрезанный из того кода урл будет такойВыделить кодКод:
var url=readFromClipboard();//считываем содержимое буфера обмена var url=url.slice(13,-52); //отрезаем 13 символов сначала и 52 с конца getBrowser (). selectedTab = getBrowser (). addTab (url);
по аналогии сделал для RuTube
var url=readFromClipboard();//считываем содержимое буфера обмена var url=url.slice(15,-1); //отрезаем 15 символов сначала и 1 с конца getBrowser (). selectedTab = getBrowser (). addTab (url);
под видео раскрываем "Ссылка и код" , копируем в буфер код из секции "...для Li.Ru"
и затем жмём на кнопочку
... как и в случае с ВКонтакте неуклюжий вариант , но всё же лучше чем ничего
Отсутствует
вот кнопка - переводчик .переводит выделенный текст. если его нет ,переводит из буфера. переведеный текст выводится в фрейм. если текст не выделен или его нет в буфере, фрейм выводится с возможностью вписания туда текста. при клике по кнопке на фрейме 'write' текст переводится. фрейм можно перетаскивать мышью, можно свернуть в полоску
код
this. type = "menu-button";
this.orient = "horizontal";
this. appendChild (menu);
function getText(fl){
if(!!(fl)){
return Text(fl)
}
var doc = getBrowser (). contentDocument;
var tqa = document.commandDispatcher.focusedElement
if(tqa){
var as = tqa.value
var tre= as.length
if(tre > 0){
var sell = as.substring(tqa.selectionStart, tqa.selectionEnd);
var tre= sell.length
if(tre==0){
var fun=as
var fun=Text(fun)
return fun
}
else{
var fun=sell
var fun=Text(fun)
return fun
}}
}
var String =document. commandDispatcher. focusedWindow. getSelection (). toString ();
var tre0= String.length
if(tre0===0){
var searchbar = document.getElementById("searchbar");
var t=document.getAnonymousElementByAttribute(searchbar, "anonid", "searchbar-textbox").value
var tre= t.length
if(tre==0){
return
}
else{
var fun=t
var fun=Text(fun)
return fun
}}
var fun=String
var fun=Text(fun)
return fun
function Text(fun){
var n =0
for(;{
var ring =fun.charCodeAt(n)
if(ring==32){
n++}
else{
var str=fun.slice(n)
var n1 = str.search(/ /)
if(n1==-1){
return str}
else{var stgr1=str.slice(0,n1)
return stgr1}
break;}}
}}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this. onclick = function (event){
if ( event. shiftKey)
return;
if (event. button == 2)
{
event. preventDefault ();
event. stopPropagation ();
var doc = getBrowser (). contentDocument;
getBrowser (). loadURI
(
'http://translate.google.com/translate?u=' +
doc. location. href +
'&hl=' +
'ru' +
'&langpair=' +
'auto|ru' +
'&tbb=1' +
(doc. charset? '&ie=' + doc. charset: ''),
null,
null
);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this. translate = function (e)
{
var translator = new cbTranslatorButton (getBrowser ());
if(e. target){
var lang = e. target. getAttribute ("value");}
else{
lang = e}
if(!(lang=='l')){
var na_lang =lang.substring(3);
var s_lang = lang.substr(0,2);
}
translator. ujs_createWindow (lang,na_lang,s_lang)
};
var val = this. getAttribute ("id");
function cbTranslatorButton (browser)
{
this. doc = browser. contentDocument;
this. win = browser. contentDocument. defaultView;
}
cbTranslatorButton. prototype =
{
doc: null,
_frfme: null,
win: null,
toolbar: null,
clse: null,
frame: null,
na_lang: null,
s_lang: null,
lang: null,
grabX: 0,
origX: 0,
grabY: 0,
origY: 0,
ajax_: function (url,anco)
{
var doc = getBrowser (). contentDocument;
xmlhttp = new XMLHttpRequest()
xmlhttp.open('GET',url, false);
xmlhttp.onreadystatechange = function(){
var html_t = xmlhttp.responseText
var html_ = doc. createElement ('div');
html_.innerHTML =html_t
xmlhttp=null
var TBODY_= html_.getElementsByClassName ("almost_half_cell")[0];
anco. innerHTML =''
anco. appendChild (TBODY_)
}
xmlhttp.send(null);
},
getText: function ()
{
var tqa = document.commandDispatcher.focusedElement
if(tqa){
var uy=tqa.tagName
var arr = [];
arr[0] ='html:input'
arr[1] ='INPUT'
arr[2] ='TEXTAREA'
var j = 0
for(var i=0;i<arr.length;i++)
{if (uy==arr[i]){
var j = 1
break;}}
if (j==1)
{
var as = tqa.value
var sell = as.substring(tqa.selectionStart, tqa.selectionEnd);
if(sell){
return sell;}
return as }else{
var doc = getBrowser (). contentDocument;
var t = doc. defaultView. getSelection ();
if(t){
return t}
}}
var t = document. commandDispatcher. focusedWindow. getSelection (). toString ();
if(t){
return t}
var t = ''
var t = t. toString ();
return t}
,
handleEvent: function (event)
{
switch (event. type)
{
case "mousedown":
this. tbOnMouseDown (event);
break;
case "mousemove":
this. tbOnMouseMove (event);
break;
case "mouseup":
this. tbOnMouseUp (event);
break;
case "click":
this. clseOnClick (event);
break;
case "load":
this. frameOnLoad (event);
break;
}
},
tbOnMouseMove: function (event)
{
this. toolbar. style. left = this. origX + event. clientX - this. grabX + 'px';
this. toolbar. style. top = this. origY + event. clientY - this. grabY + 'px';
},
tbOnMouseUp: function (event)
{
this. doc. removeEventListener ('mousemove', this, false);
this. toolbar. style. zIndex = 9997;
},
tbOnMouseDown: function (event)
{
if (event. target == this. toolbar)
{
event. preventDefault ();
this. toolbar. style. zIndex = 9998;
this. grabX = event. clientX;
this. grabY = event. clientY;
this. origX = parseInt (this. toolbar. style. left);
this. origY = parseInt (this. toolbar. style. top);
this. doc. addEventListener ('mousemove', this, false);
this. doc. addEventListener ('mouseup', this, false);
}
},
removeEventListener: function (element, eventType, captureFlag)
{
try
{
element. removeEventListener (eventType, this, captureFlag);
}
catch (err) {}
},
removeElement: function (element)
{
try
{
element. parentNode. removeChild (element);
}
catch (err) {}
},
clseOnClick: function (event)
{
if(event. currentTarget. getAttribute ('id')=='trans_'){
var fkr =event. currentTarget.parentNode.firstChild.firstChild. contentDocument.getElementsByClassName ("almost_half_cell")[0]
if(fkr.tagName=='DIV'){
var doc=this. doc
var html_ = doc. createElement ('textarea');
html_. setAttribute('style',"height:95%;width:100%")
html_. setAttribute('class',"almost_half_cell")
fkr.parentNode.removeChild(fkr)
var anco =event. currentTarget.parentNode.firstChild.firstChild. contentDocument. getElementsByTagName ("html")[0]
anco. appendChild (html_)
}else{
var fkr =event. currentTarget.parentNode.firstChild.firstChild. contentDocument.getElementsByClassName ("almost_half_cell")[0]
var query=fkr .value
var anco = event. currentTarget.parentNode.firstChild.firstChild. contentDocument. getElementsByTagName ("html")[0]
query = escape (convertFromUnicode ("UTF-8", query ))
if(this.lang=='l'){
fkr.parentNode.removeChild(fkr)
this.Xmlhttp(anco,getText(fkr .value))
}else{
var url='http://translate.google.ru/?q='+query+'&hl='+this.na_lang+'&langpair='+this.s_lang+'&tbb=1&ujs=gtt'
this.ajax_(url,anco)}
}
}
if(event. currentTarget. getAttribute ('id')=='trans_v'){
var fkr = event. currentTarget.parentNode.firstChild.firstChild. contentDocument.getElementsByClassName ("almost_half_cell")[0]
var anco = event. currentTarget.parentNode.firstChild.firstChild. contentDocument. getElementsByTagName ("html")[0]
fkr.parentNode.removeChild(fkr)
var query =readFromClipboard()
if(this.lang=='l'){
this.Xmlhttp(anco,query)
}else{
query = escape (convertFromUnicode ("UTF-8", query ))
var url='http://translate.google.ru/?q='+query+'&hl='+this.na_lang+'&langpair='+this.s_lang+'&tbb=1&ujs=gtt'
this.ajax_(url,anco)
}}
if(event. currentTarget. getAttribute ('id')=='trans_vv'){
var fkr = event. currentTarget.parentNode.firstChild.firstChild. contentDocument.getElementsByClassName ("almost_half_cell")[0]
var anco = event. currentTarget.parentNode.firstChild.firstChild. contentDocument. getElementsByTagName ("html")[0]
fkr.parentNode.removeChild(fkr)
var query=this. getText ()
if(this.lang=='l'){
this.Xmlhttp(anco)
}else{
query = escape (convertFromUnicode ("UTF-8", query ))
var url='http://translate.google.ru/?q='+query+'&hl='+this.na_lang+'&langpair='+this.s_lang+'&tbb=1&ujs=gtt'
this.ajax_(url,anco)
}}
if(event. currentTarget. getAttribute ('id')=='trans_sv'){
var fkr = event. currentTarget.parentNode.firstChild.firstChild
if(fkr.style.height== "290px"){
fkr. setAttribute('style','height:0px;width:330px;')
}else{
fkr. setAttribute ('style', 'display:block;border:1px solid #aaaaaa;margin:2px 0 0 0;padding:4px;background-color:#fafcfe;font:14px Times New Roman;height:290px;width:330px;overflow:auto;cursor:text;');}
}
if(!(event. currentTarget. getAttribute ('id'))){
this.na_lang= null
this.s_lang= null
this.lang=null
this. clse. removeEventListener ('click', this, false);
this. removeEventListener (this. toolbar, 'mousedown', false);
this. removeEventListener (this. doc, 'mousemove', false);
this. removeEventListener (this. doc, 'mouseup', false);
this. removeElement (this. toolbar);
this. clse = null;
this. toolbar = null;
this. win = null;
this. doc = null;
}},
ujs_createWindow: function (lang,na_lang,s_lang)
{
var doc = this. doc;
var win = this. win;
if(lang=='l'){
this. lang = lang
}else{
this. na_lang = na_lang
this. s_lang = s_lang
}
var h, w;
toolbar = doc. createElement ('div');
toolbar. setAttribute('id','trans_m')
this. toolbar = toolbar;
var title = (arguments. length > 1) ?arguments [1]: '<a href="http://rp5.ru/town.php?id=7494" target="_blank" style="text-decoration:none;color:#000099;font:16px Times New Roman;">rp5.ru</a>';
toolbar. innerHTML = '<div></div><button class="toolbarbutton-2">close</button>'
toolbar. setAttribute('style', 'position:fixed;background:aquamarine;display:block;visibility:hidden;left:0px;top:0;height:avto;width:avto;font:16px Times New Roman;border:1px solid gray;padding:3px;z-index:9997;overflow:visible;cursor:move;background-color:rgba(110,150,179,.59) !important;');
toolbar. addEventListener ('mousedown', this, false);
var clse = toolbar. lastChild;
this. clse = clse;
clse. addEventListener ('click', this, false);
var but= doc. createElement ('b')
but. innerHTML='<button class="toolbarbutton-2">></button>'
but. addEventListener ('click', this, false);
but. setAttribute('id','trans_sv')
toolbar.appendChild (but)
clse. setAttribute ('style', 'float:right;');
var but= doc. createElement ('b')
but. innerHTML='<button class="toolbarbutton-2">write</button>'
but. addEventListener ('click', this, false);
but. setAttribute('id','trans_')
but. setAttribute('style', 'cursor:pointer;');
toolbar.appendChild (but)
var but= doc. createElement ('b')
but. innerHTML='<button class="toolbarbutton-2">paste</button>'
but. addEventListener ('click', this, false);
but. setAttribute('id','trans_v')
but. setAttribute('style', 'cursor:pointer;');
toolbar. appendChild (but)
var but= doc. createElement ('b')
but. innerHTML='<button class="toolbarbutton-2">select</button>'
but. addEventListener ('click', this, false);
but. setAttribute('id','trans_vv')
but. setAttribute('style', 'cursor:pointer;');
toolbar. appendChild (but)
var iframe_= doc. createElement ('iframe')
iframe_. setAttribute ('style', 'display:block;border:1px solid #aaaaaa;margin:2px 0 0 0;padding:4px;background-color:#fafcfe;font:14px Times New Roman;height:290px;width:330px;overflow:auto;cursor:text;');
iframe_. addEventListener ('load', this, false);
iframe_. setAttribute('src','about:blank')
toolbar.firstChild. appendChild (iframe_);
doc. documentElement. appendChild (toolbar);
var halfWidth = parseInt (toolbar. offsetWidth / 2);
toolbar. style. left = 870 + "px";
toolbar. style. top = 20 + "px";
toolbar. style. visibility = 'visible';
return textbar;
},
frameOnLoad: function (event)
{
var doc = getBrowser (). contentDocument;
var fkr = event. currentTarget;
fkr. removeEventListener ('load', this, false);
var frdog = fkr. contentDocument;
var anco = frdog. getElementsByTagName ("html")[0]
this._frfme=anco
var query=this. getText ()
if(!query){
var html_ = doc. createElement ('textarea');
html_. setAttribute('style',"height:95%;width:100%")
html_. setAttribute('class',"almost_half_cell")
anco. appendChild (html_)
}else{
if(this.lang=='l'){
this.Xmlhttp(anco)
}
else{
query = escape (convertFromUnicode ("UTF-8", query ))
var url='http://translate.google.ru/?q='+query+'&hl='+this.na_lang+'&langpair='+this.s_lang+'&tbb=1&ujs=gtt'
xmlhttp = new XMLHttpRequest()
xmlhttp.open('GET',url, false);
xmlhttp.onreadystatechange = function(){
var html_t = xmlhttp.responseText
var html_ = doc. createElement ('div');
html_.innerHTML =html_t
xmlhttp=null
var TBODY_= html_.getElementsByClassName ("almost_half_cell")[0];
anco. innerHTML =''
anco. appendChild (TBODY_)
}
xmlhttp.send(null);
}
}},
Xmlhttp: function (ancor,t){
var THIS=this
if(t){
var hj=t
}else{
var hj=getText()}
var url='http://lingvopro.abbyyonline.com/ru/Search/en-ru/'+hj
xmlhttp = new XMLHttpRequest()
xmlhttp.open('GET',url, false);
xmlhttp.onreadystatechange = function(){
function divv(id,slovar){
var id2="lupashust"+id
var id1="'"+id2+"'"
if(div_len===0){
var div1='<div id='+id1+'>'}
else{
var div1='<div id='+id1+' style="display: none">'}
var osnov="if(document.getElementById("+id1+").style.display == 'none'){document.getElementById("+id1+").style.display = 'block';}else{document.getElementById("+id1+").style.display = 'none';}"
var spOS='<label style="text-decoration:none;color:#483D8B;font:16px Times New Roman;cursor:pointer;" onclick="Javascript:'+osnov+'">'+slovar+'</label>'
var osnov1=spOS+div1
return osnov1}
var doc = getBrowser (). contentDocument;
var html_t = xmlhttp.responseText
var temp = doc. createElement ('div');
temp.innerHTML =html_t
xmlhttp=null
var div_col= temp. getElementsByClassName ("js-article-html")
var length=div_col.length
var div_len=div_col.length-1;
var id=0
var kon ='</div><br>'
var str=new String()
for (; {
var div_res_t= div_col[div_len]
var slovar_t= div_res_t. getElementsByTagName ("a")[0]
var slovar=slovar_t. textContent
var tex_Span='<span style="color:red;text-decoration:underline;"align="right"> <span style="color:black">'
div_res_t. getElementsByTagName ("h2")[0].style.display = 'none';
div_res_t. getElementsByTagName ("a")[0].innerHTML=tex_Span+'<h3>'+hj+'</h3>'+'</span></span>'
div_res_t. getElementsByTagName ("a")[0].removeAttribute('href')
var div_res=div_res_t.innerHTML
var s_title=divv(id,slovar,div_len)
var str =str+s_title+div_res+kon
if(div_len==0){
var str='<div class="osnov_div">'+str+'</div><div class="nov_div"></div>'
break;}
div_len--
id++
}
var anc = doc. createElement ('div');
anc . setAttribute('class',"almost_half_cell")
anc.innerHTML =str
var DFG= anc. getElementsByTagName ("a")
var DFl= anc. getElementsByTagName ("a").length
var DFl1= DFl-1
for(;{
var DFG1= anc. getElementsByTagName ("a")[DFl1]
DFG1.setAttribute ('style', 'text-decoration:none;color:#4169e1;font:16px Times New Roman;')
DFG1.removeAttribute('href')
if(DFl1==0)
break;
DFl1--;}
var anc2= doc. createElement ('A');
anc2. innerHTML = '<a href='+url+' target="_blank" style="text-decoration:none;color:#000099;font:16px Times New Roman;"><span style="color:red;text-decoration:underline;"align="right"> <span style="color:#000099">Оригинал</span></span></a>';
anc.insertBefore(anc2, anc.firstChild)
ancor. appendChild (anc);
}
xmlhttp.send(null);
}
}};
var THIS=this
this.clik_= function (event){
alert('888')
}
переводить можно с помощью google либо лингво
правый клик переводит всю страницу в coogle
кому кнопка пригодилась пешите коментарии
Отредактировано Ste_pan (14-12-2011 17:58:42)
Отсутствует
Как из поискового плагина
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/"> <os:ShortName>Link-Files</os:ShortName> <os:Description>Link-Files</os:Description> <os:InputEncoding>UTF-8</os:InputEncoding> <os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADBklEQVQ4jX3TfUzMcRwH8M/Jw3mKnBgLfxgWMjSVpTtWTdzS7brj6uJcj1dHnbud6rock1zzkHSamDZPpXko8hhFrGgtrW4eSo1GI/1hLbeWr9/v7R/+MJc/3tv7r9f7rzfxj5Kr+Ce7arh7W4tQm2hCbYYS17SBKJXPgVLpAUDwvxCKg1v4U0GMO6ca/OEI6+UKxT18vuQdsiTvkLHxDXRb60YMxiOjAnyerJW3hTI+bT3jFNHsW6aqz2WWvx/WK3r4eFUPxOGdTJb0YHRgt7qVM8YyXhvDOH8Z609L/ty7X9X/1hbZ31mgHmjLUQ80RyTWjQpwO9PbuKR0xin07KePinVYowa7P63Fk66lqO2NQnlXPNafy4Jn5j6pe0Bhbeeis9nP8EzuhyiBNdlkrtcfpGjoDMOzPh3u9+YjoswIb4tB7xZgGw60s3VWNhKYyw1669jDHI2r7pUY1R0S3OhRorLbAu31PIQ7Ct0D3wNt7UO+Zjbol8W+zExl1Tmpw1Uvt6OseRMudSbB4TRg+1U7xIV298DXFRbnlxk61jd7F+uelswu7NUPn2/ag+PP1HA4M2BrMSLkTDY8zXr3wPuF5vauCfHsjTCBPRVpOPsh08jRh2Yca7Igu9kI43Mblp82YXa2oVKYukfyD+D0Tm9rHaNhLWM0rDhCw5mqTLDcsiLvxTEkNuQirv4wAqpsmFWSibHbtjQSkffvTAYgoKaJKa0NpGWPScPKfHa6ZEV6LqXiANLqixBXfxJB1XYsuJgPUYpyiLw8Y4gomIgWENE4AAK6Oza+4RZpXDdpByuZqBzSBsd8CyvJgfx2KSQ1pfC5XIR5NgP8V4bcIaIYIgr8sw5AQCcocs1FinNWeiR83OcZ1aiYGnB1iTp2YPWVs/ApL8V0uwUhoTLXhvF+N4lISkS+fwEABPYp0csq/a3O/CB9hVAoDPHw8pLOdRQMzCgpgEi+sV/tu7lxsWh+KBFNI6K/Hkp/ykFxyqKDckMuEYkACCbpElaNj92ipJmT5ihp9Fv/AkzbW6JMvNeEAAAAAElFTkSuQmCC</os:Image> <SearchForm>http://link-files.ru/</SearchForm> <os:Url type="text/html" method="POST" template="http://link-files.ru/index.php"> <os:Param name="getlinkss" value="YES"/> <os:Param name="links" value="{searchTerms}"/> </os:Url> </SearchPlugin>
Отсутствует
вот кнопка - переводчик .переводит выделенный текст. если его нет ,переводит из буфера. переведеный текст выводится в фрейм. если текст не выделен или его нет в буфере, фрейм выводится с возможностью вписания туда текста. при клике по кнопке на фрейме 'write' текст переводится. фрейм можно перетаскивать мышью, можно свернуть в полоску
кому кнопка пригодилась пешите коментарии
фрейм получился красивый, но кнопка не переводит текст.
Консоль ошибок-
fkr is undefined
textbar is not defined
Отредактировано bunda1 (16-12-2011 20:59:28)
Отсутствует
у меня работает . но там ошибка была поправил попробуй
this. type = "menu-button";
this.orient = "horizontal";
this. appendChild (menu);
function getText(fl){
if(!!(fl)){
return Text(fl)
}
var doc = getBrowser (). contentDocument;
var tqa = document.commandDispatcher.focusedElement
if(tqa){
var as = tqa.value
var tre= as.length
if(tre > 0){
var sell = as.substring(tqa.selectionStart, tqa.selectionEnd);
var tre= sell.length
if(tre==0){
var fun=as
var fun=Text(fun)
return fun
}
else{
var fun=sell
var fun=Text(fun)
return fun
}}
}
var String =document. commandDispatcher. focusedWindow. getSelection (). toString ();
var tre0= String.length
if(tre0===0){
var searchbar = document.getElementById("searchbar");
var t=document.getAnonymousElementByAttribute(searchbar, "anonid", "searchbar-textbox").value
var tre= t.length
if(tre==0){
return
}
else{
var fun=t
var fun=Text(fun)
return fun
}}
var fun=String
var fun=Text(fun)
return fun
function Text(fun){
var n =0
for(;{
var ring =fun.charCodeAt(n)
if(ring==32){
n++}
else{
var str=fun.slice(n)
var n1 = str.search(/ /)
if(n1==-1){
return str}
else{var stgr1=str.slice(0,n1)
return stgr1}
break;}}
}}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this. onclick = function (event){
if ( event. shiftKey)
return;
if (event. button == 2)
{
event. preventDefault ();
event. stopPropagation ();
var doc = getBrowser (). contentDocument;
getBrowser (). loadURI
(
'http://translate.google.com/translate?u=' +
doc. location. href +
'&hl=' +
'ru' +
'&langpair=' +
'auto|ru' +
'&tbb=1' +
(doc. charset? '&ie=' + doc. charset: ''),
null,
null
);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this. translate = function (e)
{
var translator = new cbTranslatorButton (getBrowser ());
if(e. target){
var lang = e. target. getAttribute ("value");}
else{
lang = e}
if(!(lang=='l')){
var na_lang =lang.substring(3);
var s_lang = lang.substr(0,2);
}
translator. ujs_createWindow (lang,na_lang,s_lang)
};
var val = this. getAttribute ("id");
function cbTranslatorButton (browser)
{
this. doc = browser. contentDocument;
this. win = browser. contentDocument. defaultView;
}
cbTranslatorButton. prototype =
{
doc: null,
_frfme: null,
win: null,
toolbar: null,
clse: null,
frame: null,
na_lang: null,
s_lang: null,
lang: null,
grabX: 0,
origX: 0,
grabY: 0,
origY: 0,
ajax_: function (url,anco)
{
var doc = getBrowser (). contentDocument;
xmlhttp = new XMLHttpRequest()
xmlhttp.open('GET',url, false);
xmlhttp.onreadystatechange = function(){
var html_t = xmlhttp.responseText
var html_ = doc. createElement ('div');
html_.innerHTML =html_t
xmlhttp=null
var TBODY_= html_.getElementsByClassName ("almost_half_cell")[0];
anco. innerHTML =''
anco. appendChild (TBODY_)
}
xmlhttp.send(null);
},
getText: function ()
{
var tqa = document.commandDispatcher.focusedElement
if(tqa){
var uy=tqa.tagName
var arr = [];
arr[0] ='html:input'
arr[1] ='INPUT'
arr[2] ='TEXTAREA'
var j = 0
for(var i=0;i<arr.length;i++)
{if (uy==arr[i]){
var j = 1
break;}}
if (j==1)
{
var as = tqa.value
var sell = as.substring(tqa.selectionStart, tqa.selectionEnd);
if(sell){
return sell;}
return as }else{
var doc = getBrowser (). contentDocument;
var t = doc. defaultView. getSelection ();
if(t){
return t}
}}
var t = document. commandDispatcher. focusedWindow. getSelection (). toString ();
if(t){
return t}
var t = ''
var t = t. toString ();
return t}
,
handleEvent: function (event)
{
switch (event. type)
{
case "mousedown":
this. tbOnMouseDown (event);
break;
case "mousemove":
this. tbOnMouseMove (event);
break;
case "mouseup":
this. tbOnMouseUp (event);
break;
case "click":
this. clseOnClick (event);
break;
case "load":
this. frameOnLoad (event);
break;
}
},
tbOnMouseMove: function (event)
{
this. toolbar. style. left = this. origX + event. clientX - this. grabX + 'px';
this. toolbar. style. top = this. origY + event. clientY - this. grabY + 'px';
},
tbOnMouseUp: function (event)
{
this. doc. removeEventListener ('mousemove', this, false);
this. toolbar. style. zIndex = 9997;
},
tbOnMouseDown: function (event)
{
if (event. target == this. toolbar)
{
event. preventDefault ();
this. toolbar. style. zIndex = 9998;
this. grabX = event. clientX;
this. grabY = event. clientY;
this. origX = parseInt (this. toolbar. style. left);
this. origY = parseInt (this. toolbar. style. top);
this. doc. addEventListener ('mousemove', this, false);
this. doc. addEventListener ('mouseup', this, false);
}
},
removeEventListener: function (element, eventType, captureFlag)
{
try
{
element. removeEventListener (eventType, this, captureFlag);
}
catch (err) {}
},
removeElement: function (element)
{
try
{
element. parentNode. removeChild (element);
}
catch (err) {}
},
clseOnClick: function (event)
{
if(event. currentTarget. getAttribute ('id')=='trans_'){
var fkr =event. currentTarget.parentNode.firstChild.firstChild. contentDocument.getElementsByClassName ("almost_half_cell")[0]
if(fkr.tagName=='DIV'){
var doc=this. doc
var html_ = doc. createElement ('textarea');
html_. setAttribute('style',"height:95%;width:100%")
html_. setAttribute('class',"almost_half_cell")
fkr.parentNode.removeChild(fkr)
var anco =event. currentTarget.parentNode.firstChild.firstChild. contentDocument. getElementsByTagName ("html")[0]
anco. appendChild (html_)
}else{
var fkr =event. currentTarget.parentNode.firstChild.firstChild. contentDocument.getElementsByClassName ("almost_half_cell")[0]
var query=fkr .value
var anco = event. currentTarget.parentNode.firstChild.firstChild. contentDocument. getElementsByTagName ("html")[0]
query = escape (convertFromUnicode ("UTF-8", query ))
if(this.lang=='l'){
fkr.parentNode.removeChild(fkr)
this.Xmlhttp(anco,getText(fkr .value))
}else{
var url='http://translate.google.ru/?q='+query+'&hl='+this.na_lang+'&langpair='+this.s_lang+'&tbb=1&ujs=gtt'
this.ajax_(url,anco)}
}
}
if(event. currentTarget. getAttribute ('id')=='trans_v'){
var fkr = event. currentTarget.parentNode.firstChild.firstChild. contentDocument.getElementsByClassName ("almost_half_cell")[0]
var anco = event. currentTarget.parentNode.firstChild.firstChild. contentDocument. getElementsByTagName ("html")[0]
fkr.parentNode.removeChild(fkr)
var query =readFromClipboard()
if(this.lang=='l'){
this.Xmlhttp(anco,query)
}else{
query = escape (convertFromUnicode ("UTF-8", query ))
var url='http://translate.google.ru/?q='+query+'&hl='+this.na_lang+'&langpair='+this.s_lang+'&tbb=1&ujs=gtt'
this.ajax_(url,anco)
}}
if(event. currentTarget. getAttribute ('id')=='trans_vv'){
var fkr = event. currentTarget.parentNode.firstChild.firstChild. contentDocument.getElementsByClassName ("almost_half_cell")[0]
var anco = event. currentTarget.parentNode.firstChild.firstChild. contentDocument. getElementsByTagName ("html")[0]
fkr.parentNode.removeChild(fkr)
var query=this. getText ()
if(this.lang=='l'){
this.Xmlhttp(anco)
}else{
query = escape (convertFromUnicode ("UTF-8", query ))
var url='http://translate.google.ru/?q='+query+'&hl='+this.na_lang+'&langpair='+this.s_lang+'&tbb=1&ujs=gtt'
this.ajax_(url,anco)
}}
if(event. currentTarget. getAttribute ('id')=='trans_sv'){
var fkr = event. currentTarget.parentNode.firstChild.firstChild
if(fkr.style.height== "290px"){
fkr. setAttribute('style','height:0px;width:330px;')
}else{
fkr. setAttribute ('style', 'display:block;border:1px solid #aaaaaa;margin:2px 0 0 0;padding:4px;background-color:#fafcfe;font:14px Times New Roman;height:290px;width:330px;overflow:auto;cursor:text;');}
}
if(!(event. currentTarget. getAttribute ('id'))){
this.na_lang= null
this.s_lang= null
this.lang=null
this. clse. removeEventListener ('click', this, false);
this. removeEventListener (this. toolbar, 'mousedown', false);
this. removeEventListener (this. doc, 'mousemove', false);
this. removeEventListener (this. doc, 'mouseup', false);
this. removeElement (this. toolbar);
this. clse = null;
this. toolbar = null;
this. win = null;
this. doc = null;
}},
ujs_createWindow: function (lang,na_lang,s_lang)
{
var doc = this. doc;
var win = this. win;
if(lang=='l'){
this. lang = lang
}else{
this. na_lang = na_lang
this. s_lang = s_lang
}
var h, w;
toolbar = doc. createElement ('div');
toolbar. setAttribute('id','trans_m')
this. toolbar = toolbar;
var title = (arguments. length > 1) ?arguments [1]: '<a href="http://rp5.ru/town.php?id=7494" target="_blank" style="text-decoration:none;color:#000099;font:16px Times New Roman;">rp5.ru</a>';
toolbar. innerHTML = '<div></div><button class="toolbarbutton-2">close</button>'
toolbar. setAttribute('style', 'position:fixed;background:aquamarine;display:block;visibility:hidden;left:0px;top:0;height:avto;width:avto;font:16px Times New Roman;border:1px solid gray;padding:3px;z-index:9997;overflow:visible;cursor:move;background-color:rgba(110,150,179,.59) !important;');
toolbar. addEventListener ('mousedown', this, false);
var clse = toolbar. lastChild;
this. clse = clse;
clse. addEventListener ('click', this, false);
var but= doc. createElement ('b')
but. innerHTML='<button class="toolbarbutton-2">></button>'
but. addEventListener ('click', this, false);
but. setAttribute('id','trans_sv')
toolbar.appendChild (but)
clse. setAttribute ('style', 'float:right;');
var but= doc. createElement ('b')
but. innerHTML='<button class="toolbarbutton-2">write</button>'
but. addEventListener ('click', this, false);
but. setAttribute('id','trans_')
but. setAttribute('style', 'cursor:pointer;');
toolbar.appendChild (but)
var but= doc. createElement ('b')
but. innerHTML='<button class="toolbarbutton-2">paste</button>'
but. addEventListener ('click', this, false);
but. setAttribute('id','trans_v')
but. setAttribute('style', 'cursor:pointer;');
toolbar. appendChild (but)
var but= doc. createElement ('b')
but. innerHTML='<button class="toolbarbutton-2">select</button>'
but. addEventListener ('click', this, false);
but. setAttribute('id','trans_vv')
but. setAttribute('style', 'cursor:pointer;');
toolbar. appendChild (but)
var iframe_= doc. createElement ('iframe')
iframe_. setAttribute ('style', 'display:block;border:1px solid #aaaaaa;margin:2px 0 0 0;padding:4px;background-color:#fafcfe;font:14px Times New Roman;height:290px;width:330px;overflow:auto;cursor:text;');
iframe_. addEventListener ('load', this, false);
iframe_. setAttribute('src','about:blank')
toolbar.firstChild. appendChild (iframe_);
doc. documentElement. appendChild (toolbar);
var halfWidth = parseInt (toolbar. offsetWidth / 2);
toolbar. style. left = 870 + "px";
toolbar. style. top = 20 + "px";
toolbar. style. visibility = 'visible';
return ;
},
frameOnLoad: function (event)
{
var doc = getBrowser (). contentDocument;
var fkr = event. currentTarget;
fkr. removeEventListener ('load', this, false);
var frdog = fkr. contentDocument;
var anco = frdog. getElementsByTagName ("html")[0]
this._frfme=anco
var query=this. getText ()
if(!query){
var html_ = doc. createElement ('textarea');
html_. setAttribute('style',"height:95%;width:100%")
html_. setAttribute('class',"almost_half_cell")
anco. appendChild (html_)
}else{
if(this.lang=='l'){
this.Xmlhttp(anco)
}
else{
query = escape (convertFromUnicode ("UTF-8", query ))
var url='http://translate.google.ru/?q='+query+'&hl='+this.na_lang+'&langpair='+this.s_lang+'&tbb=1&ujs=gtt'
xmlhttp = new XMLHttpRequest()
xmlhttp.open('GET',url, false);
xmlhttp.onreadystatechange = function(){
var html_t = xmlhttp.responseText
var html_ = doc. createElement ('div');
html_.innerHTML =html_t
xmlhttp=null
var TBODY_= html_.getElementsByClassName ("almost_half_cell")[0];
anco. innerHTML =''
anco. appendChild (TBODY_)
}
xmlhttp.send(null);
}
}},
Xmlhttp: function (ancor,t){
var THIS=this
if(t){
var hj=t
}else{
var hj=getText()}
var url='http://lingvopro.abbyyonline.com/ru/Search/en-ru/'+hj
xmlhttp = new XMLHttpRequest()
xmlhttp.open('GET',url, false);
xmlhttp.onreadystatechange = function(){
function divv(id,slovar){
var id2="lupashust"+id
var id1="'"+id2+"'"
if(div_len===0){
var div1='<div id='+id1+'>'}
else{
var div1='<div id='+id1+' style="display: none">'}
var osnov="if(document.getElementById("+id1+").style.display == 'none'){document.getElementById("+id1+").style.display = 'block';}else{document.getElementById("+id1+").style.display = 'none';}"
var spOS='<label style="text-decoration:none;color:#483D8B;font:16px Times New Roman;cursor:pointer;" onclick="Javascript:'+osnov+'">'+slovar+'</label>'
var osnov1=spOS+div1
return osnov1}
var doc = getBrowser (). contentDocument;
var html_t = xmlhttp.responseText
var temp = doc. createElement ('div');
temp.innerHTML =html_t
xmlhttp=null
var div_col= temp. getElementsByClassName ("js-article-html")
var length=div_col.length
var div_len=div_col.length-1;
var id=0
var kon ='</div><br>'
var str=new String()
for (; {
var div_res_t= div_col[div_len]
var slovar_t= div_res_t. getElementsByTagName ("a")[0]
var slovar=slovar_t. textContent
var tex_Span='<span style="color:red;text-decoration:underline;"align="right"> <span style="color:black">'
div_res_t. getElementsByTagName ("h2")[0].style.display = 'none';
div_res_t. getElementsByTagName ("a")[0].innerHTML=tex_Span+'<h3>'+hj+'</h3>'+'</span></span>'
div_res_t. getElementsByTagName ("a")[0].removeAttribute('href')
var div_res=div_res_t.innerHTML
var s_title=divv(id,slovar,div_len)
var str =str+s_title+div_res+kon
if(div_len==0){
var str='<div class="osnov_div">'+str+'</div><div class="nov_div"></div>'
break;}
div_len--
id++
}
var anc = doc. createElement ('div');
anc . setAttribute('class',"almost_half_cell")
anc.innerHTML =str
var DFG= anc. getElementsByTagName ("a")
var DFl= anc. getElementsByTagName ("a").length
var DFl1= DFl-1
for(;{
var DFG1= anc. getElementsByTagName ("a")[DFl1]
DFG1.setAttribute ('style', 'text-decoration:none;color:#4169e1;font:16px Times New Roman;')
DFG1.removeAttribute('href')
if(DFl1==0)
break;
DFl1--;}
var anc2= doc. createElement ('A');
anc2. innerHTML = '<a href='+url+' target="_blank" style="text-decoration:none;color:#000099;font:16px Times New Roman;"><span style="color:red;text-decoration:underline;"align="right"> <span style="color:#000099">Оригинал</span></span></a>';
anc.insertBefore(anc2, anc.firstChild)
ancor. appendChild (anc);
}
xmlhttp.send(null);
}
}};
var THIS=this
Отсутствует
bunda1
У меня в Toggle Find+3(Firefox 7.0+) меню полностью не отображается
Попробовал кнопку на чистом профиле и получил такой же глюк. Мистика, однако. Удалю кнопку. Спасыбо.
Отредактировано bunda1 (18-12-2011 21:18:44)
Отсутствует
Попробовал кнопку на чистом профиле и получил такой же глюк. Мистика, однако. Удалю кнопку. Спасыбо.
А у меня она заработала. Просто сделал ПКМ-Настроить-ОК, появилось окно для ввода времени автозакрытия. Ввёл 10сек – ОК, кнопка стала зелёной (была красная) и меню появилось.
Вот так вроде работает.
Эту пока не ставил. В чём разница, стоит её пробовать, если предыдущая заработала?
Отредактировано mserv (18-12-2011 20:25:26)
Отсутствует
А у меня она заработала. Просто сделал ПКМ-Настроить-ОК, появилось окно для ввода времени автозакрытия. Ввёл 10сек – ОК, кнопка стала зелёной (была красная) и меню появилось.
Вот так вроде работает.
Эту пока не ставил. В чём разница, стоит её пробовать, если предыдущая заработала?
Ну опять ПКМ-Настроить да сколько можно, достало уже.
В чём разница, стоит её пробовать, если предыдущая заработала - уже сам не знаю надо подумать.
Отредактировано bunda1 (18-12-2011 20:38:35)
Отсутствует
Toggle Find+3
Как можно сделать что-бы пункт "Поиск по сайту(google)" открывал выбор и всех установленных поисковых плагинов (но поиск по google оставался активным) и открывался сразу в контекстн. меню, а не через "Find"?
Отсутствует
Как можно сделать что-бы пункт "Поиск по сайту(google)" открывал выбор и всех установленных поисковых плагинов (но поиск по google оставался активным) и открывался сразу в контекстн. меню, а не через "Find"?
Я думаю что можно переделать этот код Context Search, но это работа на несколько часов и я не возьмусь.
но поиск по google оставался активным - это не понятно.
Отредактировано bunda1 (18-12-2011 21:31:06)
Отсутствует
но поиск по google оставался активным - это не понятно
как в Context Search RG
Отсутствует
vitalii201
как из контекстного меню удалить пункт "Find" оставшийся после Toggle Find+3. его видно только в MenuEditor и мне он совсем не мешает, но всё же интересно разобраться было бы
рестарт
там или сразу ищешь выделенное на гугле, или по стрелке открывается выбор из установленных поисков
Отредактировано bunda1 (18-12-2011 23:09:50)
Отсутствует
рестарт
зачем бы я спрашивал если бы так было (мне оно не мешает, в контекстном меню на страницах его нет, а видно только в редакторе MenuEditor)
Context Search посмотрю, спасибо.
Отсутствует
Есть код догрузки всех картинок на странице (Infocatcher, 02-03-2010 21:54:27):
Для секции "Код":
// Based on code from chrome://browser/content/nsContextMenu.js (Firefox 3.6) function reloadImage(img) { if(!(img instanceof Components.interfaces.nsIImageLoadingContent)) return; urlSecurityCheck(img.currentURI.spec, gBrowser.contentPrincipal, Components.interfaces.nsIScriptSecurityManager.DISALLOW_SCRIPT); img.forceReload(); } function parseWin(win) { Array.forEach(win.frames, parseWin); Array.forEach(win.document.images, reloadImage); } parseWin(content);
Решил объединить у себя некоторые кнопки и теперь никак не могу сообразить, как впихнуть его в инициализацию, повесив на нажатие ПКМ. Как ни помещаю эти фанкшины, ничего не выходит... Подсобите, плиз.
P.S. Может как-то другим кодом можно догрузить незагруженные изображения?
Отсутствует
Есть код догрузки всех картинок на странице, как впихнуть его в инициализацию, повесив на нажатие ПКМ. Как ни помещаю эти фанкшины, ничего не выходит... Подсобите, плиз.
this.tooltipText = "L = about:config | M = about:support | R = догрузка всех картинок"; this.onclick = function(event) { if(event.button == 0) { // ЛКМ getBrowser (). selectedTab = getBrowser (). addTab ("about:config"); } else if(event.button == 1) { // СКМ getBrowser (). selectedTab = getBrowser (). addTab ("about:support"); } else if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Действие при клике ПКМ без модификаторов // Based on code from chrome://browser/content/nsContextMenu.js (Firefox 3.6) function reloadImage(img) { if(!(img instanceof Components.interfaces.nsIImageLoadingContent)) return; urlSecurityCheck(img.currentURI.spec, gBrowser.contentPrincipal, Components.interfaces.nsIScriptSecurityManager.DISALLOW_SCRIPT); img.forceReload(); } function parseWin(win) { Array.forEach(win.frames, parseWin); Array.forEach(win.document.images, reloadImage); } parseWin(content); } }; this.oncontextmenu = function(event) { if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Блокируем контекстное меню при клике ПКМ без модификаторов event.preventDefault(); event.stopPropagation(); } };
P.S. Может как-то другим кодом можно догрузить незагруженные изображения?
я не знаю.
P.S. Зачем надо догружать не загруженные изображения?
Отсутствует
bunda1
Спасибо, всё работает!
P.S. Зачем надо догружать не загруженные изображения?
Иногда бывает, когда открываешь страницу, а вместо некоторых картинок (или всех сразу) только рамка от нее и всё... Так что, кнопочка подгрузки картинок в самый раз!
Отсутствует
В разделе о Custom Buttons прочитал о кнопках,которые отключают заголовок chrome в браузере.
Интересно а изменить его можно?Сделать свой дизайн.Ширина,высота,фоновый цвет,рамки и так далее.
Отсутствует
В разделе о Custom Buttons прочитал о кнопках,которые отключают заголовок chrome в браузере.Интересно а изменить его можно?Сделать свой дизайн.Ширина,высота,фоновый цвет,рамки и так далее.
Уроки стилеписания на CSS | Форум Mozilla Россия
Настройка внешнего вида Firefox в userChrome.css | Форум Mozilla Россия
Stylish | Форум Mozilla Россия
Отсутствует
questman пишетВ разделе о Custom Buttons прочитал о кнопках,которые отключают заголовок chrome в браузере.Интересно а изменить его можно?Сделать свой дизайн.Ширина,высота,фоновый цвет,рамки и так далее.
Уроки стилеписания на CSS | Форум Mozilla Россия
Настройка внешнего вида Firefox в userChrome.css | Форум Mozilla Россия
Stylish | Форум Mozilla Россия
Ну ни ужели я бы стал задавать этот вопрос если бы по тем ссылкам, что вы мне предложили был бы ответ.
Отсутствует
Ну ни ужели я бы стал задавать этот вопрос если бы по тем ссылкам, что вы мне предложили был бы ответ.
Ну если вы его не смогли там найти, это ещё не значит, что его там нет. Если вы самостоятельно не смогли найти ответ, то спрашивать надо в темах, которые я вам предложил.
Отредактировано mserv (22-12-2011 18:23:13)
Отсутствует
questman пишетНу ни ужели я бы стал задавать этот вопрос если бы по тем ссылкам, что вы мне предложили был бы ответ.
Ну если вы его не смогли там найти, это ещё не значит, что его там нет. Если вы самостоятельно не смогли найти ответ, то спрашивать надо в темах, которые я вам предложил.
Спасибо не надо.Научен горьким опытом.В тех темах ответ будет таким же.Или вообще не будет.
Отсутствует
В разделе о Custom Buttons прочитал о кнопках,которые отключают заголовок chrome в браузере.
Интересно а изменить его можно?Сделать свой дизайн.Ширина,высота,фоновый цвет,рамки и так далее.
измени́ть нельзя.
Отсутствует