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

Выделить код

Код:

goDoCommand('cmd_copyLink');

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

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

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);

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

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

brici пишет

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

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

Чайник пишет

Скопировать ссылку - допустим, на этот мой пост. И открыть вкладку с заранее вписанным в код урлом 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);

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);
}
Выделить код

Код:

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);

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

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