>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Диалог выбора сохранения - как показать с нужным URL? http://forum.mozilla-russia.org/viewtopic.php?id=40582 |
ionicman > 06-10-2009 07:58:54 |
Вот собственно идея возникла написать такое расширение, которое бы позволяло абсолютно на любой ссылке вызывать диалог сохранения ( где можно выбирать чем сохранять данную ссылку - chrome://mozapps/content/downloads/unknownContentType.xul ). Собственно зачем? Объясню - например если я хочу передать страницу в стороннюю программу. Конечно можно просто добавить пунктик в контекстное меню, но мне было бы удобно сделать это из того самого диалога. Покопавшись в исходниках, нашел что реализация открытия этого диалога находится в nsHelperAppDlg.js и реализуется в интерфейсе nsUnknownContentTypeDialog. Вопрос только вот в чем - как им воспольозваться? Как показать этот диалог с нужным мне URL? Может кто сталкивался? Меня устроит любой исходник или название расширения, которое в процессе своей работы вызывает данный диалог - остальное - дело техники Заранее спасибо! |
Eggorka > 06-10-2009 09:40:20 |
Извиняюсь, что не отвечаю на вопрос. Просто хочу заметить, что этот диалог сохранения и так не во всех случаях работает. Если вдруг у тебя что-нибудь выйдет, то, может, и этот баг получится заодно пофиксить? Было бы здорово. |
Sergeys > 06-10-2009 11:11:54 |
Тема перенесена из форума «Firefox» в форум «Разработка». |
ionicman > 06-10-2009 11:20:13 |
Eggorka пишет
Вот я именно и хочу сделать чтобы работало принудительно на ЛЮБЫХ ссылках. Будет чтото типа Save As Force |
Forest > 07-10-2009 09:54:17 |
ionicman ionicman пишет
Наверное можно посмотреть в любом расширении, которое добавляет свои варианты сохранения: например расширения, устанавливаемые качалками, ну или тот же FlashGot 07-10-2009 09:59:47 |
ionicman > 07-10-2009 15:49:22 |
Forest пишет
Как добавить я знаю, это как раз не проблема, проблема ПРИНУДИТЕЛЬНО вызвать этот диалог и передать нужный мне URL. |
Infocatcher > 07-10-2009 23:38:48 |
Пункт контекстного меню «Сохранить объект как» работает примерно так: Выделить код Код:document.popupNode = linkNode; new nsContextMenu( document.getElementById("contentAreaContextMenu"), gBrowser ).saveLink(); Только при вызове из контекстного меню document.popupNode прописывается автоматически. И можно посмотреть, что вызывается при Alt+клик по ссылке (там по-другому, как ни странно): Выделить код Код:function handleLinkClick(event, href, linkNode) { ... if (event.altKey) { saveURL(href, linkNode ? gatherTextUnder(linkNode) : "", null, true, true, doc.documentURIObject); return true; } |
ionicman > 08-10-2009 08:12:42 |
Infocatcher, спасибо огромное. попробую поглядеть. |
Infocatcher > 08-10-2009 16:13:13 |
Хм, похоже, что и правда всегда без выбора. А поиск по «chrome://mozapps/content/downloads/unknownContentType.xul» среди файлов установленного Firefox находит Выделить код Код:this.mDialog = ww.openWindow(dwi, "chrome://mozapps/content/downloads/unknownContentType.xul", null, "chrome,centerscreen,titlebar,dialog=yes,dependent", null); Но там как-то хитро все. |
ionicman > 09-10-2009 07:47:13 |
Да, просто если открыть диалог - он открывается, но он естественно не работает, надо както юзать nsHelperAppDlg.js. Однако его использование или вызовы / порождения я не смог найти. |