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

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.
  • Форумы
  •  » Firefox
  •  » Как НА САМОМ ДЕЛЕ скопировать в буфер обмена адреса всех вкладок?

№130-07-2014 13:50:44

принципиальный
Участник
 
Группа: Members
Зарегистрирован: 10-08-2013
Сообщений: 161
UA: Firefox 14.0

Как НА САМОМ ДЕЛЕ скопировать в буфер обмена адреса всех вкладок?

Друзья! В теме
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/

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

Отредактировано принципиальный (30-07-2014 14:04:51)

Отсутствует

 

№230-07-2014 14:40:30

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 31.0

Re: Как НА САМОМ ДЕЛЕ скопировать в буфер обмена адреса всех вкладок?

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

Выделить код

Код:

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
Но если на пустой вкладке вписать что-нибудь в адресную строку вручную, то это тоже скопируется.

Отредактировано Infocatcher (30-07-2014 14:44:42)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№331-07-2014 00:15:36

принципиальный
Участник
 
Группа: Members
Зарегистрирован: 10-08-2013
Сообщений: 161
UA: Firefox 14.0

Re: Как НА САМОМ ДЕЛЕ скопировать в буфер обмена адреса всех вкладок?

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

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

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

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

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

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

с
ссылка_2

с на с
ссылка_1

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

...

и так далее

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

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

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

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

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

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

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

Отредактировано принципиальный (31-07-2014 00:16:32)

Отсутствует

 

№431-07-2014 00:32:20

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 31.0

Re: Как НА САМОМ ДЕЛЕ скопировать в буфер обмена адреса всех вкладок?

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

Выделить код

Код:

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

?


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 
  • Форумы
  •  » Firefox
  •  » Как НА САМОМ ДЕЛЕ скопировать в буфер обмена адреса всех вкладок?

Board footer

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