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

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№106-10-2009 07:58:54

ionicman
Участник
 
Группа: Members
Зарегистрирован: 06-10-2009
Сообщений: 5
UA: Firefox 3.5

Диалог выбора сохранения - как показать с нужным URL?

Вот собственно идея возникла написать такое расширение, которое бы позволяло абсолютно на любой ссылке вызывать диалог сохранения ( где можно выбирать чем сохранять данную ссылку - chrome://mozapps/content/downloads/unknownContentType.xul ).

Собственно зачем? Объясню - например если я хочу передать страницу в стороннюю программу.

Конечно можно просто добавить пунктик в контекстное меню, но мне было бы удобно сделать это из того самого диалога.

Покопавшись в исходниках, нашел что реализация открытия этого диалога находится в nsHelperAppDlg.js и реализуется в интерфейсе nsUnknownContentTypeDialog. Вопрос только вот в чем - как им воспольозваться? Как показать этот диалог с нужным мне URL?


Может кто сталкивался? Меня устроит любой исходник или название расширения, которое в процессе своей работы вызывает данный диалог - остальное - дело техники :)

Заранее спасибо!

Отсутствует

 

№206-10-2009 09:40:20

Eggorka
Участник
 
Группа: Members
Зарегистрирован: 29-07-2008
Сообщений: 319
UA: Firefox 3.5

Re: Диалог выбора сохранения - как показать с нужным URL?

Извиняюсь, что не отвечаю на вопрос. Просто хочу заметить, что этот диалог сохранения и так не во всех случаях работает. Если вдруг у тебя что-нибудь выйдет, то, может, и этот баг получится заодно пофиксить? Было бы здорово.

Отсутствует

 

№306-10-2009 11:11:54

Sergeys
Administrator
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 23-01-2005
Сообщений: 14009
Веб-сайт

Re: Диалог выбора сохранения - как показать с нужным URL?

Тема перенесена из форума «Firefox» в форум «Разработка».


Через сомнения приходим к истине. Цицерон

Отсутствует

 

№406-10-2009 11:20:13

ionicman
Участник
 
Группа: Members
Зарегистрирован: 06-10-2009
Сообщений: 5
UA: Firefox 3.5

Re: Диалог выбора сохранения - как показать с нужным URL?

Eggorka пишет

Извиняюсь, что не отвечаю на вопрос. Просто хочу заметить, что этот диалог сохранения и так не во всех случаях работает. Если вдруг у тебя что-нибудь выйдет, то, может, и этот баг получится заодно пофиксить? Было бы здорово.

Вот я именно и хочу сделать чтобы работало принудительно на ЛЮБЫХ ссылках. Будет чтото типа Save As Force :)

Отсутствует

 

№507-10-2009 09:54:17

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.5

Re: Диалог выбора сохранения - как показать с нужным URL?

ionicman

ionicman пишет

Вот собственно идея возникла написать такое расширение, которое бы позволяло абсолютно на любой ссылке вызывать диалог сохранения ( где можно выбирать чем сохранять данную ссылку - chrome://mozapps/content/downloads/unknownContentType.xul ).

Собственно зачем? Объясню - например если я хочу передать страницу в стороннюю программу.

Наверное можно посмотреть в любом расширении, которое добавляет свои варианты сохранения: например расширения, устанавливаемые качалками, ну или тот же FlashGot ;)
А вообще мб проще добавить нужные приложения в список FlashGot?

Добавлено 07-10-2009 09:59:47
Кстати и расширения типа IE/OperaView тоже могут подойти.


---  ---

Отсутствует

 

№607-10-2009 15:49:22

ionicman
Участник
 
Группа: Members
Зарегистрирован: 06-10-2009
Сообщений: 5
UA: Firefox 3.5

Re: Диалог выбора сохранения - как показать с нужным URL?

Forest пишет

Наверное можно посмотреть в любом расширении, которое добавляет свои варианты сохранения: например расширения, устанавливаемые качалками, ну или тот же FlashGot ;)
А вообще мб проще добавить нужные приложения в список FlashGot?

Добавлено Сегодня 09:59:47
Кстати и расширения типа IE/OperaView тоже могут подойти.

Как добавить я знаю, это как раз не проблема, проблема ПРИНУДИТЕЛЬНО вызвать этот диалог и передать нужный мне URL.

Отсутствует

 

№707-10-2009 23:38:48

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

Re: Диалог выбора сохранения - как показать с нужным URL?

Пункт контекстного меню «Сохранить объект как» работает примерно так:

Выделить код

Код:

document.popupNode = linkNode;
new nsContextMenu(
	document.getElementById("contentAreaContextMenu"),
	gBrowser
).saveLink();

Только при вызове из контекстного меню document.popupNode прописывается автоматически.
chrome://browser/content/nsContextMenu.js

И можно посмотреть, что вызывается при Alt+клик по ссылке (там по-другому, как ни странно):
chrome://browser/content/browser.js

Выделить код

Код:

function handleLinkClick(event, href, linkNode)
{
...
      if (event.altKey) {
        saveURL(href, linkNode ? gatherTextUnder(linkNode) : "", null, true,
                true, doc.documentURIObject);
        return true;
      }

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

Отсутствует

 

№808-10-2009 08:12:42

ionicman
Участник
 
Группа: Members
Зарегистрирован: 06-10-2009
Сообщений: 5
UA: Firefox 3.5

Re: Диалог выбора сохранения - как показать с нужным URL?

Infocatcher, спасибо огромное. попробую поглядеть.
А я почемуто сознательно пропускал saveURL, потому как оно вроде выдает не диалог выбора чем сохранять а просто стандартное окно сохранения файла...

Отсутствует

 

№908-10-2009 16:13:13

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

Re: Диалог выбора сохранения - как показать с нужным URL?

Хм, похоже, что и правда всегда без выбора.

А поиск по «chrome://mozapps/content/downloads/unknownContentType.xul» среди файлов установленного Firefox находит
Mozilla Firefox\components\nsHelperAppDlg.js

Выделить код

Код:

this.mDialog = ww.openWindow(dwi,
                                       "chrome://mozapps/content/downloads/unknownContentType.xul",
                                       null,
                                       "chrome,centerscreen,titlebar,dialog=yes,dependent",
                                       null);

Но там как-то хитро все.

Отредактировано Infocatcher (08-10-2009 16:13:44)


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

Отсутствует

 

№1009-10-2009 07:47:13

ionicman
Участник
 
Группа: Members
Зарегистрирован: 06-10-2009
Сообщений: 5
UA: Firefox 3.5

Re: Диалог выбора сохранения - как показать с нужным URL?

Да, просто если открыть диалог - он открывается, но он естественно не работает, надо както юзать nsHelperAppDlg.js. Однако его использование или вызовы / порождения я не смог найти.

Отсутствует

 

Board footer

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