Добрый день.
Нажимаю на сайт на ссылку - выходит диалог "открыть в /сохранить". Нажимаю "открыть в" плеере. Файл сохраняется в папку профиля пользователя temp.
А как сделать чтоб сохранял в Загрузки? Изменение настройки-Загрузки не помогает.
Или тут дело в том, что папку сохранения определяет уже плеер?

вы не сохраняете а открываете, а при открытии файл всегда сохраняется в системную временную папку и потом программе отдаётся команда открыть тот файл.
у вас есть два варианта либо передавать плееру ту ссылку если он умеет играть из сети (обычно нормальные плееры умеют)
либо сохранять и потом открывать либо вручную либо автоматизировать процесс расширением(каким- спросите в соответствующей теме), как вариант использовать каку нибудь качалку в которых обычно есть функция открыть файл по завершении закачки.

передавать плееру ту ссылку если он умеет играть из сети

Это, я так понимаю, вручную?

Дмитрий56 пишет

Это, я так понимаю, вручную?

тоже можно автоматизировать - спрашивайте в Ищу расширение для Firefox (ищу дополнение) там подскажут варианты.

Дмитрий56
Можно Custom Buttons + кнопка

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

Выделить код

Код:

(()=> {
   var menuitem = document.createElement("menuitem");       
   var contextMenu = document.getElementById("contentAreaContextMenu");

   menuitem.id = "open-in-pot";
   menuitem.setAttribute("label", "Отправить в PotPlayer");      
   menuitem.setAttribute("class", "menuitem-iconic");
   menuitem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAE1SURBVHjalNG9S5tRGIbxX8TJVYP/REEdndzsWHB9JwXBvUOXKg4iOEhBKIhYUETXii7V1SEqCh6ymCUQP1DERRFFJT0d8jbE0jeJ93aeB67r5jm5GCPoWzeGT9jESkjUFi2SawBcozed72A8JM7fA4g55Lu4eQT3+Iwfzdq8AXzoZu0jGyUWTniutm7zBjCQZ2W4tqjcM1kg3DZvkwmA35G1U76HepvdtM1ZW4C/Kd8xtU+xoU1ILLcNgGpkqchiEUQMhcRe2wDYLvO1UH+OhMTPtgB3L8we8qtSOw3m8SUkYkvA3iXTB9w+gRJGQ6LQ8ogPr8wdsVWuW79hMiSeMr+xP8/qMIUrpve5fvy/NRPQ2UF/D8c3RKqpdepfaxbgBH3p/BRjWdYswCAmcIGZZtbG/BkAHtLE4ZXQlc8AAAAASUVORK5CYII=");
   document.getElementById("context-sep-open").parentNode.insertBefore( menuitem, document.getElementById("context-sep-open") );
   
   addEventListener("popupshowing", ()=> menuitem.hidden = !gContextMenu.onLink, false, contextMenu );
   addDestructor( ()=> contextMenu.removeChild(menuitem) );
     
   addEventListener("command", function(e) {
      if ( e.button ) return;
      
      var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
      var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
      file.initWithPath("C:\\Program Files (x86)\\PotPlayer\\PotPlayerMini.exe");
      process.init(file);
      process.run(false, [gContextMenu.getLinkURL()], 1);
             
   }, false, menuitem );
})();

- класть в секцию "инициализация" любой кнопки (как создать новую кнопку - в шапке темы.


- в контекстном меню ссылок появится соответствующий пункт. Правьте в коде путь к программе, название и иконку (то что начинается с "data:image" - картинка в base64 (гугл в помощь - онлайн-конвертеров - море) на ваши.

За кнопку спасибо то ли bunda1, то ли okkamas_knife, то ли еще кому (прошу прощения, не помню, где брал).

А можно ли сделать такую кнопку, что бы она была на навигационной панели и при нажатии брала ссылку из адресной строки? Например открыта вкладка видео на ютубе и при нажатии кнопки, то же видео открывается в плеере.

Stakhovsky
Только свой путь пропишите к плееру.

var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath("C:\\Program Files\\SMPlayer\\smplayer.exe");
var process  = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
var args = [window.content.location.href];
process.init( file );
process.run( false, args, args.length );

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

villa7 пишет

Stakhovsky
Только свой путь пропишите к плееру.

var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath("C:\\Program Files\\SMPlayer\\smplayer.exe");
var process  = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
var args = [window.content.location.href];
process.init( file );
process.run( false, args, args.length );


Не работает, это полный код и его вставить в инициализацию или его нужно вставить в сущесвующий?

Stakhovsky
Во вкладку Код.

villa7 пишет

Stakhovsky
Во вкладку Код.

Отлично, работает, спасибо:)