Здравствуйте!
помогите написать расширение - очень простое.
мне надо, что бы при наведении курсором на ссылку, ссылка (полная) копировалась в буфер обмена.
какие функции надо использовать?
что и как ?
p.s. спасибо.
Отсутствует
Надо создать сто одинаковых тем. Тогда может быть помогут!
где у меня ещё одинаковая тема? вообщем ты лучше помоги!!!
вот человек хороший подсказал. создаешь кнопку в Custom Buttons:
В раздел "Код":
В раздел "Инициализация":
/*Initialization Code*/
addEventListener
(
"mouseover",
function (event)
{
if ((event. target. nodeName == "A") && this. checked)
cbu. gClipboard. write (event. target. href);
},
false
);
но если в исходном коде станице будет
<a href="/search/"><noindex>Карта сайта</noindex></a>
или так
<a href="/retail/" ><img border="0" src="main-nav-retail.gif"></a>
то дополнение не будет работать.(((
так тоже не получается!
/*Initialization Code*/
var sbar = window.status;addEventListener
(
"mouseover",
function (event)
{
if ((event. target. nodeName == "A") && this. checked)
cbu. gClipboard. write (event. target. href + " : " + sbar );
},
false
);
как бы извлекать текст прямо из строки строки состояния в момент наведение курсором на обьект???
Отредактировано Igor22ru (02-12-2010 07:56:28)
Отсутствует
Igor22ru Было расширение ,при наведении курсора на ссылку открывающее её в новой вкладке , а вот чтобы копировало такого не припоминаю
Отредактировано Крошка Ру (02-12-2010 07:58:11)
Отсутствует
Igor22ru Было расширение ,при наведении курсора на ссылку открывающее её в новой вкладке , а вот чтобы копировало такого не припоминаю
что то я не могу найти такого расширения? кинь линк есть есть?
Отредактировано Igor22ru (02-12-2010 08:36:12)
Отсутствует
Igor22ru название не помню и очень возможно что на АМО его нет
Добавлено 02-12-2010 09:21:09
.... или то было вообще не расширение а скрипт
Отсутствует
как сделать что бы кнопка при открытии браузера была нажатой в Custom Buttons
подскажите ещё как кнопку сделать - что бы копировал в буфер обмена строку при полной загрузки странице?
загрузилась страца - скопировал в буфет обмена !!! ???
Отсутствует
как сделать что бы кнопка при открытии браузера была нажатой в Custom Buttons
Добавить
в самое начала кода инициализации.
но если в исходном коде станице будет
/*Initialization Code*/ this.checked = true; // Включить при открытии окна this.getLink = function(node) { if(!node || !node.localName) return null; const docNode = Node.DOCUMENT_NODE; // 9 const eltNode = Node.ELEMENT_NODE; // 1 for(node = node; node && node.nodeType != docNode; node = node.parentNode) { if( ( node instanceof HTMLAnchorElement || node instanceof HTMLAreaElement || node instanceof HTMLLinkElement ) && node.hasAttribute("href") || node.nodeType == eltNode && node.hasAttributeNS("http://www.w3.org/1999/xlink", "href") ) return node; } return null; }; this.getLinkURI = function(node) { const ns = "http://www.w3.org/1999/xlink"; return node.hasAttributeNS(ns, "href") ? makeURLAbsolute(node.baseURI, node.getAttributeNS(ns, "href")) // See chrome://browser/content/utilityOverlay.js : node.href || node.getAttribute("href"); }; addEventListener( "mouseover", function(event) { if(!this.checked) return; var link = this.getLink(event.target); link && cbu.gClipboard.write(this.getLinkURI(link)); }, false );
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
this.getLink = function(node) { if(!node || !node.localName) return null; const docNode = Node.DOCUMENT_NODE; // 9 const eltNode = Node.ELEMENT_NODE; // 1 for(node = node; node && node.nodeType != docNode; node = node.parentNode) { if( ( node instanceof HTMLAnchorElement || node instanceof HTMLAreaElement || node instanceof HTMLLinkElement ) && node.hasAttribute("href") || node.nodeType == eltNode && node.hasAttributeNS("http://www.w3.org/1999/xlink", "href") ) return node; } return null; }; this.getLinkURI = function(node) { const ns = "http://www.w3.org/1999/xlink"; return node.hasAttributeNS(ns, "href") ? makeURLAbsolute(node.baseURI, node.getAttributeNS(ns, "href")) // See chrome://browser/content/utilityOverlay.js : node.href || node.getAttribute("href"); }; addEventListener( "mouseover", function(event) { if(!this.checked) return; var link = this.getLink(event.target); link && cbu.gClipboard.write(this.getLinkURI(link)); }, false );
а сложно переделать этот код для хрома?
Отсутствует
Для Custom Buttons 0.0.5.1 и новее:
addEventListener("load", function(e) { var doc = e.target; var win = doc.defaultView; if(win.top != win) // Frame return; var data = "Страница загружена:\n" + doc.title + "\n" + doc.location.href; //LOG(data); cbu.gClipboard.write(data); }, true, gBrowser);
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
хочу по нажатию кнопки скопировать html код в буфер обмена!
делаю так
/*Initialization Code*/ this.copy = function(e) { var doc = e.target; var data = doc.body.innerHTML; cbu.gClipboard.write(data); }
подскажите что не так?
Отредактировано Igor22ru (21-01-2011 09:20:29)
Отсутствует
Igor22ru
вот копирование содержимого тега <html></html> в буфер
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EinnerHTML%20copy%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-3%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0Athis.onClick%20%3D%20function%28event%29%20%7B%0A%09if%28event.button%3C2%29%0A%09%7B%0A%20%20%20%20var%20doc%20%3D%20getBrowser%20%28%29.contentDocument%3B%0A%20%20%20%20var%20data%20%3D%20doc.getElementsByTagName%28%27html%27%29%5B0%5D.innerHTML%3B%0A%20%20%20%20cbu.gClipboard.write%28data%29%3B%0A%20%20%20%20%09%7D%0A%7D%0Athis.setAttribute%28%27onclick%27%2C%27this.onClick%28event%29%3B%27%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отредактировано Black_Sun (21-01-2011 15:21:11)
Отсутствует
подскажите что не так?
При вызове this.copy(); e будет undefined.
var elt = content.document.documentElement; var str = new XMLSerializer().serializeToString(elt); cbu.gClipboard.write(str);
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует