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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№131-05-2012 14:41:51

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 12.0

Как в Firegestures выполнить команду Copy Link Location?

Подскажите, как в Firegestures выполнить команду Copy Link Location?
Я создал новый жест с кодом

Выделить код

Код:

goDoCommand('cmd_copyLink');

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

Отредактировано Чайник (31-05-2012 14:42:51)

Отсутствует

 

№231-05-2012 15:18:14

brici
Участник
 
Группа: Members
Откуда: Chisinau
Зарегистрирован: 03-05-2009
Сообщений: 603
UA: Palemoon 12.0

Re: Как в Firegestures выполнить команду Copy Link Location?

- Плиз, а чём удобство ?
В Firegestures есть схема Копировать адрес (Ссылка / Изображение / Фрейм / Страница). То есть скопировал адрес страницы в буфер жестом, и открыл в другом профиле или другом браузере другим жестом,- Open URL .
А Вы что хотите, и в чём удобство можно поконкретнее ?


Пизанская башня,- первое творение сюрреалистов.

Отсутствует

 

№331-05-2012 15:41:47

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 12.0

Re: Как в Firegestures выполнить команду Copy Link Location?

brici пишет

- Плиз, а чём удобство ? В Firegestures есть схема Копировать адрес (Ссылка / Изображение / Фрейм / Страница).

Я это как-то проглядел :)
Мне надо копировать не адрес страницы, а адрес обычной ссылки на странице (Copy Link Location). Ссылку там можно скопировать. Что мне и нужно.
Но я бы хотел, чтобы жест ещё и открыл вкладку с заранее определённым адресом, допустим http://myurl.com/. То есть чтоб я перешёл на эту вкладку, имея в буфере адрес ссылки.

Со второй частью ясно

Выделить код

Код:

const URL = "http://myurl.com/";
const IN_NEW_TAB = true;
const IN_BACKGROUND = false;

if (IN_NEW_TAB)
  gBrowser.loadOneTab(URL, null, null, null, IN_BACKGROUND, false);
else
  gBrowser.loadURI(URL);

А вот как бы сюда прилепить ещё и копирование ссылки?

Отредактировано Чайник (31-05-2012 15:50:27)

Отсутствует

 

№431-05-2012 15:52:43

brici
Участник
 
Группа: Members
Откуда: Chisinau
Зарегистрирован: 03-05-2009
Сообщений: 603
UA: Palemoon 12.0

Re: Как в Firegestures выполнить команду Copy Link Location?

- Открыть неактивную ссылку в новой вкладке ?


Пизанская башня,- первое творение сюрреалистов.

Отсутствует

 

№531-05-2012 15:58:22

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 12.0

Re: Как в Firegestures выполнить команду Copy Link Location?

brici пишет

- Открыть неактивную ссылку в новой вкладке ?

Нет.
Скопировать ссылку - допустим, на этот мой пост. И открыть вкладку с заранее вписанным в код урлом http://myurl.com/ ну и перейти на неё. А в буфере при этом - ссылка на мой пост.

Отсутствует

 

№631-05-2012 20:20:57

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

Re: Как в Firegestures выполнить команду Copy Link Location?

Чайник пишет

Скопировать ссылку - допустим, на этот мой пост. И открыть вкладку с заранее вписанным в код урлом http://myurl.com/ ну и перейти на неё. А в буфере при этом - ссылка на мой пост.

Выделить код

Код:

var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
link = window._content.document.links;
//...
if (!(document.commandDispatcher.focusedWindow.getSelection() == '')) {
     //...
    for(i=0; i<link.length; ++i) {
    if (window._content.getSelection().containsNode(link[i], true)) {
        clipboard.copyString(link[i].href);
        }
    }
}
else {alert('Надо выделить ссылку на странице')};

//..............
gBrowser.loadOneTab("http://myurl.com/", null, null, null, false, false);

Отсутствует

 

№731-05-2012 21:21:07

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 12.0

Re: Как в Firegestures выполнить команду Copy Link Location?

bunda1, это почти то самое что я думал.
Только я имел в виду, чтоб не выделять ссылку, а жест делается на самой ссылке. Или по крайней мере начинать надо жест
на самой ссылке. При этом выделять ничего не надо.

У меня есть жест "Открыть ссылку в ИЕ" и там как раз это реализовано

Выделить код

Код:

const APP_PATH = "C:\\Program Files\\Internet Explorer\\iexplore.exe";

var srcNode = FireGestures.sourceNode;
var linkURL = FireGestures.getLinkURL(srcNode);
if (!linkURL)
  throw "Not on a link";

var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath(APP_PATH);
if (!file.exists()) {
  alert("File does not exist: " + APP_PATH);
  return;
}
var process  = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
try {
  var args = [linkURL];
  process.init(file);
  process.run(false, args, args.length);
}
catch (ex) {
  alert("Failed to execute: " + APP_PATH);
}

Отсутствует

 

№831-05-2012 21:42:23

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

Re: Как в Firegestures выполнить команду Copy Link Location?

Выделить код

Код:

var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
//....
var srcNode = FireGestures.sourceNode;
var linkURL = FireGestures.getLinkURL(srcNode);
if (!linkURL)
  throw "Not on a link";
clipboard.copyString(linkURL);
//..............
gBrowser.loadOneTab("http://myurl.com/", null, null, null, false, false);

Отсутствует

 

№931-05-2012 22:23:08

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 12.0

Re: Как в Firegestures выполнить команду Copy Link Location?

bunda1, супер, самое то! :D

Большое спасибо за помощь!

Отсутствует

 

Board footer

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