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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№430107-07-2012 19:28:26

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

Re: Custom Buttons

okkamas_knife пишет

слушай, не глянешь?

okkamas_knife пишет

А кто подскажет код для быстрого сохранения страницы в мхт\маф при использовании расширения MAF.
вобщем чтоб без диалога сохранения в папку по-умолчанию сохранялся файл?

Вроде бы, так:

Выделить код

Код:

var targetFile = Components.classes["@mozilla.org/file/local;1"]
    .createInstance(Components.interfaces.nsILocalFile || Components.interfaces.nsIFile);
targetFile.initWithPath("D:\\test.mht");
mafSaveDocument(
    gBrowser.selectedBrowser.contentDocument,
    {
        targetFile: targetFile,
        saveBehavior: gMafMhtmlSaveBehavior //or gMafMaffSaveBehavior
    }
);

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

А то там все уходит в перезаписанную встроенную функцию с кучей параметров:

скрытый текст

Выделить код

Код:

/**
 * internalSave: Used when saving a document or URL.
 *
 * If aChosenData is null, this method:
 *  - Determines a local target filename to use
 *  - Prompts the user to confirm the destination filename and save mode
 *    (aContentType affects this)
 *  - [Note] This process involves the parameters aURL, aReferrer (to determine
 *    how aURL was encoded), aDocument, aDefaultFileName, aFilePickerTitleKey,
 *    and aSkipPrompt.
 *
 * If aChosenData is non-null, this method:
 *  - Uses the provided source URI and save file name
 *  - Saves the document as complete DOM if possible (aDocument present and
 *    right aContentType)
 *  - [Note] The parameters aURL, aDefaultFileName, aFilePickerTitleKey, and
 *    aSkipPrompt are ignored.
 *
 * In any case, this method:
 *  - Creates a 'Persist' object (which will perform the saving in the
 *    background) and then starts it.
 *  - [Note] This part of the process only involves the parameters aDocument,
 *    aShouldBypassCache and aReferrer. The source, the save name and the save
 *    mode are the ones determined previously.
 *
 * @param aURL
 *        The String representation of the URL of the document being saved
 * @param aDocument
 *        The document to be saved
 * @param aDefaultFileName
 *        The caller-provided suggested filename if we don't 
 *        find a better one
 * @param aContentDisposition
 *        The caller-provided content-disposition header to use.
 * @param aContentType
 *        The caller-provided content-type to use
 * @param aShouldBypassCache
 *        If true, the document will always be refetched from the server
 * @param aFilePickerTitleKey
 *        Alternate title for the file picker
 * @param aChosenData
 *        If non-null this contains an instance of object AutoChosen (see below)
 *        which holds pre-determined data so that the user does not need to be
 *        prompted for a target filename.
 * @param aReferrer
 *        the referrer URI object (not URL string) to use, or null
 *        if no referrer should be sent.
 * @param aSkipPrompt [optional]
 *        If set to true, we will attempt to save the file to the
 *        default downloads folder without prompting.
 *        When this function is called, directly or indirectly, by Mozilla
 *        Archive Format to save a file automatically, this parameter can also
 *        be an object with the following properties:
 *         - saveDir: nsILocalFile instance pointing to the directory where the
 *           specified document should be saved. The filename is determined
 *           automatically, using "index" as the basename.
 *         - saveWithMedia: If true, the Save Complete persist object is
 *           configured to save the media files that are present in the page.
 *         - saveWithContentLocation: If true, the Save Complete persist object
 *           is configured to save the page for inclusion in an MHTML file.
 *         - mafEventListener: Object implementing the onSaveNameDetermined,
 *           onDownloadComplete, and onDownloadFailed event functions. The
 *           persistObject property may also be set on the object.
 *        When this function is called, directly or indirectly, by Mozilla
 *        Archive Format to ask the user to save an archive, this parameter can
 *        also be an object with the following properties:
 *         - mafAskSaveArchive: True to ask to save archives only.
 *         - mafSaveTabs [optional]: Array of browser objects corresponding to
 *           the tabs to be saved.
 *        When this function is called, directly or indirectly, by Mozilla
 *        Archive Format to create an archive automatically, this parameter can
 *        also be an object with the following properties:
 *         - targetFile: nsIFile of the final destination page or archive.
 *         - saveBehavior: Save behavior to use when creating the file.
 *         - mafProgressListener: Object implementing the nsIWebProgressListener
 *           interface, used to detect when the operation completes.
 * @param aCacheKey [optional]
 *        If set will be passed to saveURI.  See nsIWebBrowserPersist for
 *        allowed values.
 */
function internalSave(aURL, aDocument, aDefaultFileName, aContentDisposition,
                      aContentType, aShouldBypassCache, aFilePickerTitleKey,
                      aChosenData, aReferrer, aSkipPrompt, aCacheKey)


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

Отсутствует

 

№430207-07-2012 20:49:42

WatsonRus
Участник
 
Группа: Members
Зарегистрирован: 10-03-2009
Сообщений: 286
UA: Firefox 3.6

Re: Custom Buttons

okkamas_knife
Благодарю за кнопку для MAF. Все работает.

P.S. Кстати, иконка MAF очень уж издали смахивает на топор палача на плахе. ;)))) хотя реально там всего-навсего степлер с пачкой бумаг.

Отредактировано WatsonRus (07-07-2012 21:07:16)


Firefox ESR

Отсутствует

 

№430307-07-2012 21:11:19

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

Re: Custom Buttons

okkamas_knife
Ну, можно поковырять расширение и посмотреть, как там вытаскивается имя файла.
Только все равно придется что-то прибавлять при совпадении имен.


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

Отсутствует

 

№430407-07-2012 22:13:11

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 508
UA: Firefox 13.0

Re: Custom Buttons

okkamas_knife пишет

skynet281978 пишет: эти кнопки не соответствуют тому, что я спрашивал.
они не меняют оранжевую кнопку в обычную.

а ты создавал кнопку с моим кодом?
она дублирует меню аппбатона - картинку можно ставить любую как у обычной СВну
а оригинальный аппбатон легко скрывается через юзерхром например.(в теме есть код)

был не прав. работает.
но здесь вырисовывается другое.
при желании изменить пункты меню в кнопке при установленном Personal Menu - пункты пропадают.
поправить это можно?

Отсутствует

 

№430508-07-2012 11:26:16

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 508
UA: Firefox 13.0

Re: Custom Buttons

okkamas_knife этот вариант мне не подходит. Personal Menu мне нужен.
bunda1 вот здесь делал почти как нужно 05-11-2011 21:57:21 и один пользователь в конце страницы скрин разместил с кнопкой с квадратом, но я просто свою иконку втулить хочу. Но там не указан стиль как сделать из оранжевой кнопки обычную. Подскажите?

Отсутствует

 

№430608-07-2012 11:45:04

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

skynet281978 пишет

но здесь вырисовывается другое.
при желании изменить пункты меню в кнопке при установленном Personal Menu - пункты пропадают.
поправить это можно?

Думаю можно добавить используя Custom Buttons коды, а убрать вообще легко через CSS.

Отредактировано bunda1 (08-07-2012 12:58:04)

Отсутствует

 

№430708-07-2012 19:54:31

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 14.0

Re: Custom Buttons

Крошка Ру пишет

Кнопка Save

4.Capture a region on a page as PNG - сохраняет выделенную область страницы как PNG-изображение,

5. Save entire frame as PNG - сохраняет фреймы на странице как PNG-изображение,

6.Save visible portion as PNG - сохраняет видимую область страницы как PNG-изображение,

7.Save web page as PNG - сохраняет страницу как  PNG-изображение(делает скриншот страницы)

можно добавить возможность открытия сохраняемого изображения во внешнем редакторе ? :angel:

Добавлено 06-07-2012 09:13:08
... в идеале конечно лучше бы код этих четырёх опций выпилить и поместить в отдельную кнопочку - скриншотер :sick: :whistle: :)

Еще по поводу кнопки Save, не работает сохранение фавиконки сайта, копирование в буфер обмена фавиконки сайта в виде base64, хотя копирование из контекстного меню любой картинки работает. Можно поправить это?

Отсутствует

 

№430808-07-2012 20:25:50

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Kamui пишет

Еще по поводу кнопки Save, не работает сохранение фавиконки сайта, копирование в буфер обмена фавиконки сайта в виде base64, хотя копирование из контекстного меню любой картинки работает. Можно поправить это?

Я проверил на FF13 работает а вот на FF16 не работает. Попробую исправить хотя не знаю как. Возможно со временем кнопка вообще перестанет работать на FF16, там собираются что то отключить. Надо полностью переделывать код меню но я не знаю чем его заменить. Кто бы дал образец кода.
Кругом измена и обман! :( Сейчас пойду и напьюсь.

Отсутствует

 

№430908-07-2012 20:30:51

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

Возможно со временем кнопка вообще перестанет работать на FF16, там собираются что то отключить. Надо полностью переделывать код меню но я не знаю чем его заменить. Кто бы дал образец кода.
Кругом измена и обман! :( Сейчас пойду и напьюсь.

bunda1 :cry: :cry: :cry:

Отсутствует

 

№431008-07-2012 20:32:10

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 14.0

Re: Custom Buttons

bunda1 пишет

Я проверил на FF13 работает а вот на FF16 не работает. Попробую исправить хотя не знаю как. Возможно со временем кнопка вообще перестанет работать на FF16, там собираются что то отключить. Надо полностью переделывать код меню но я не знаю чем его заменить. Кто бы дал образец кода.
Кругом измена и обман! :( Сейчас пойду и напьюсь.

При копировании фавиконки консоль ошибок пишет:

Выделить код

Код:

Метка времени: 09.07.2012 0:27:29
Ошибка: NS_ERROR_MALFORMED_URI: Component returned failure code: 0x804b000a (NS_ERROR_MALFORMED_URI) [nsIIOService.newURI]
Источник: chrome://custombuttons/content/button.js?windowId=Firefox&id=custombuttons-button0@init
Строка: 352

Ошибка собственно в этом коде:

скрытый текст
//Favicon copied to base64...........................
this.openFaviconData = function(event) {
  var ios = Components.classes["@mozilla.org/network/io-service;1"].
    getService(Components.interfaces.nsIIOService);
  var fis = Components.classes["@mozilla.org/browser/favicon-service;1"].
    getService(Components.interfaces.nsIFaviconService);
  var url = document.getElementById("page-proxy-favicon").src
  url = fis.getFaviconDataAsDataURL(ios.newURI(url, null, null));
  if (url && event.button == 0) gBrowser.selectedTab = gBrowser.addTab(url);
  var sURL = gURLBar.value;
  gClipboard.write(gURLBar.value);
  if (event.button == 0)
  var cbTitle = "Favicon";
  var cbDesc = " Copied to Clipboard ";
  custombuttons.alertSlide(cbTitle, cbDesc);}

Отсутствует

 

№431108-07-2012 20:43:25

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Kamui
На FF14.0 наверно нет фавиконки в адресной строке вот и все. Хотя у меня есть идея, можно брать фавиконку из таба, но вот как?

Отредактировано bunda1 (08-07-2012 20:44:41)

Отсутствует

 

№431208-07-2012 20:47:55

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 14.0

Re: Custom Buttons

bunda1 пишет

На FF14.0 наверно нет фавиконки в адресной строке вот и все. Хотя у меня есть идея, можно брать фавиконку из таба, но вот как?

Я в коде не силен, но думаю идея правильная брать фавиконку из таба :)

Отсутствует

 

№431308-07-2012 21:04:03

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Фавиконку из таба получить легко:

Выделить код

Код:

var CurTab = document.getElementById('content').selectedTab;
gBrowser.loadURI(CurTab.getAttribute('image','src') );

Добавлено 08-07-2012 21:20:34
Kamui и Крошка Ру
Я исправил кнопку Save(Firefox 3.6 +)

Отредактировано bunda1 (08-07-2012 21:20:34)

Отсутствует

 

№431408-07-2012 21:23:48

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 14.0

Re: Custom Buttons

bunda1
Благодарю :) только сейчас при копировании фавиконки в base64, также открывается новая вкладка с фавиконкой, раньше этого не было и в принципе не нужно.

Отсутствует

 

№431508-07-2012 22:07:09

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

bunda1, Замечательно , полный отпад :beer: Спасибо :D Все пункты меню функционируют в [nightly] 16.0a1 ..... о добавлении возможности открытия сохранённого скриншота во внешнем редакторе даже не заикаюсь :blush: :angel:

Отсутствует

 

№431608-07-2012 22:08:33

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Kamui пишет

только сейчас при копировании фавиконки в base64, также открывается новая вкладка с фавиконкой, раньше этого не было и в принципе не нужно.

Save(Firefox 3.6 +)

Отсутствует

 

№431708-07-2012 22:10:46

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

Фавиконку из таба получить легко:

Выделить код

Код:

var CurTab = document.getElementById('content').selectedTab;
gBrowser.loadURI(CurTab.getAttribute('image','src') );

а это сохраню в закромах  на всякий случай ;)

Отсутствует

 

№431808-07-2012 22:14:16

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Крошка Ру пишет

о добавлении возможности открытия сохранённого скриншота во внешнем редакторе даже не заикаюсь

Открыть сохранённый скриншот в во внешнем редакторе легко, но я не знаю как получить путь к нему и название.

Отсутствует

 

№431908-07-2012 22:17:28

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

Save не просто кнопка, а кнопище :iron: - комбайн  , заменяющее несколько расширений :rock:

Отсутствует

 

№432008-07-2012 22:22:43

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Крошка Ру
Я подумаю как открыть сохранённый скриншот в во внешнем редакторе. И у меня эсть грязные мысли о том что надо в кнопку добавить дополнительные возможности.

Отредактировано bunda1 (08-07-2012 22:23:08)

Отсутствует

 

№432108-07-2012 22:23:08

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

bunda1 пишет

Открыть сохранённый скриншот в во внешнем редакторе легко, но я не знаю как получить путь к нему и название.

bunda1 , :)

скрытый текст
Название Image Uploader
Путь в [windows] XP > C:\Program Files\Image Uploader Portable\Image Uploader.exe

Отредактировано Крошка Ру (08-07-2012 22:38:17)

Отсутствует

 

№432208-07-2012 22:24:04

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Путь к скриншоту.

Отсутствует

 

№432308-07-2012 22:25:36

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

Я подумаю как открыть сохранённый скриншот в во внешнем редакторе. И у меня есть грязные мысли о том что надо в кнопку добавить дополнительные возможности.

Подобные мысли скорее могут быть  чистые чем грязные :lol: :angel:

Добавлено 08-07-2012 22:28:21

Путь к скриншоту.

bunda1,ааа... совершенно невнимательно читаю :dumb: :blush:

То есть надо будет указывать в коде папку сохранения?

Отредактировано Крошка Ру (08-07-2012 22:28:21)

Отсутствует

 

№432408-07-2012 22:31:44

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Крошка Ру пишет

То есть надо будет указывать в коде папку сохранения?

Может быть, я еще сам не знаю.

Отсутствует

 

№432508-07-2012 22:37:00

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

Re: Custom Buttons

bunda1 пишет

Путь к скриншоту.

Для временных файлов есть nsIFile.createUnique() и nsPIExternalAppLauncher.deleteTemporaryFileOnExit()

https://developer.mozilla.org/en/Code_s … rary_files
И потом

Выделить код

Код:

Components.classes["@mozilla.org/uriloader/external-helper-app-service;1"]
    .getService(Components.interfaces.nsPIExternalAppLauncher)
    .deleteTemporaryFileOnExit(file);

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

Отсутствует

 

Board footer

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