Я пишу веб-расширение, которое должно вызвать pando c. Я смотрю на YouTube Downloader в качестве примера вызова внешней программы. Я ознакомился с документацией по веб-расширениям, чтобы узнать, как использовать систему nativeMessage , и она требует наличия манифеста приложения для идентификации внешней программы для веб-браузера и расширения. Я не могу найти, где у YouTube Downloader есть манифест приложения; кажется, не использовать один. Вместо этого он инициировал соединение с FFMPEG (аудио-видео программой, которая обрабатывает мультиплексирование видео YouTube с хост-системы) посредством этого раздела кода:
ffmpeg.convert = function(command, args, dictionary) {
return new Promise((resolve, reject) => {
args = args.split(/\s/).map(s => {
Object.keys(dictionary).forEach(key => s = s.replace(key, dictionary[key]));
return s;
});
chrome.runtime.sendNativeMessage('com.add0n.node', {
cmd: 'exec',
kill: true,
command,
arguments: args
}, obj => {
if (!obj || obj.error || (obj.code && obj.code !== 0)) {
console.error(obj);
reject(new Error(obj ? obj.error || obj.stderr || obj.stdout : 'error_12'));
}
else {
resolve();
}
});
});
};
FFMPEG уже установлен в моей системе, поэтому это не проблема для того, чтобы это было названо. Но я не могу найти, где будет храниться манифест приложения FFMPEG. Я даже не вижу расширения, вызывающего FFMPEG в системе nativeMessage, вместо этого он вызывает 'com.add0n.node'
. Я попытался имитировать это для собственного расширения и получаю сообщение об ошибке о том, что 'com.add0n.node'
неизвестно.
Настройка манифеста приложения для моей собственной системы не является проблемой. Но я надеялся поделиться своим веб-расширением и не ожидать, что конечные пользователи должны понимать, как администрировать свои системы, чтобы добавить манифест приложения, чтобы сделать pando c известным веб-браузеру. Я хотел бы, чтобы мои пользователи должны были установить мое веб-расширение и pando c и не должны понимать, как изменять свои файлы конфигурации, обновляя веб-браузер. Я не уверен, существует ли стандартный способ добавления манифестов приложений, когда люди устанавливают веб-расширения, которые полагаются на них. (Было бы неразумно ожидать, что я перепакую pando c для удовлетворения потребностей моего веб-расширения.) Я не уверен, как YouTube Downloader обходится без использования 'com.add0n.node'
?