Друзья! В теме
https://forum.mozilla-russia.org/viewtopic.php?id=42022

Ответа на этот вопрос нет. Найдены: одно расширение
https://addons.mozilla.org/ru/firefox/a … ls-expert/

и код для кнопки
https://forum.mozilla-russia.org/viewto … 70#p558170

Но они про адрес последней открытой вкладки выводят своё дурацкое about:blank, а без этого адреса все остальные теряют смысл

++++++++++++++++++++++++++++++++++++++++=

Ну то есть открываем в новом окне

http://fx.yandex.ru/?from=direct_serp___|

После тычем ПКМ на ссылку и выбираем "открыть в новой вкладке", открывается новая вкладка, где в адресной строке прописаны конкретные буквы и маленькое окошко, предлагающее скачать файл. Ну всё, пробуем сохранить адреса двух названых вкладок в буфер обмена вышеуказанным расширением или кнопкой, получаем:

http://fx.yandex.ru/?from=direct_serp___|
about:blank

Если это прикол, то не смешной. Надо вот так:

http://fx.yandex.ru/?from=direct_serp___|
fx.yandex.ru/download/

Жду вашей помощи, друзья! Спасибо, кто откликнется

Можно вот так попробовать:

Выделить код

Код:

var tabs = gBrowser.visibleTabs || gBrowser.tabs;
var privateDoc;
var urls = Array.map(tabs, function(tab) {
    var browser = tab.linkedBrowser;
    if(
        !privateDoc
        && "PrivateBrowsingUtils" in window
        && PrivateBrowsingUtils.isWindowPrivate(browser.contentWindow)
    )
        privateDoc = browser.contentDocument;
    var url = browser.currentURI.spec;
    if(url == "about:blank")
        return browser.userTypedValue || url;
    return url;
});
var br = Services.appinfo.OS == "WINNT" ? "\r\n" : "\n";
var data = urls.join(br);
Components.classes["@mozilla.org/widget/clipboardhelper;1"]
    .getService(Components.interfaces.nsIClipboardHelper)
    .copyString(data, privateDoc || document);

30-07-2014 14:44:42
Но если на пустой вкладке вписать что-нибудь в адресную строку вручную, то это тоже скопируется.

Спасибо, если бы ты от нечего делать, модифицировал бы этот код, был бы благодарен. Мне нужно, чтобы ссылки в буфере были в порядке, ОБРАТНОМ существующему. Ну то есть щас они так:

ссылка_0
ссылка_1
ссылка_2

А надо, чтобы было

ссылка_2
ссылка_1
ссылка_0

++++++++++++++++++++++++++++++++++++++++++++

И второе, надо вот так их модернизировать:

с
ссылка_2

с на с
ссылка_1

с на с на с
ссылка_0

...

и так далее

Это означает для меня:

ссылка
ссылка_0

ссылка на ссылку
ссылка_1

ссылка на ссылку на ссылку
ссылка_2

Я этот текст храню рядом с установочными файлами скачиваемых прог. Иногда пригождается.

++++++++++++++++++++++++++++++++++++++++++++++

В принципе, теперь я уже сам мог бы это сделать делать. Вряд ли я засел бы за кнопконаписание, просто добавил бы куда-нибудь в конец кода запуск стороннего приложения, а уж там на сях я бы буфер обмена как мне надо обработал. Но этот как-то не того, какой-то черезчур громоздкий способ, только на крайний случай. В общем, сделаешь, буду благодарен, нет- спасибо, ты и так помог немало.

принципиальный
Заменить

Выделить код

Код:

var data = urls.join(br);

на

Выделить код

Код:

var prefix = "ссылка";
var details = urls.reverse().map(function(url, i) {
    if(i > 0)
       prefix += " на ссылку";
    return prefix + br + url;
});
var data = details.join(br + br);

А вообще, не удобнее ли так:

Выделить код

Код:

var details = urls.reverse().map(function(url, i) {
    return (i > 0 ? "<= " : "") + url;
});
var data = "Ссылка:" + br + details.join(br);

?