这是一段代码,用于通过从下载的subscription_manager.xml文件中的列表中打开一个带有频道网址的新Google Chrome标签/窗口,将订阅从一个Youtube帐户导入另一个帐户。当我使用节点打开" app.js"文件显示没有错误,但它永远不会打开Chrome。我认为因为代码的创建者正在使用Mac Os,他可能已经编写了一些在Windows中不兼容的东西。有人可以验证这一点,以确保它也适用于Windows吗?链接到视频" https://youtu.be/GVakGPDF3Kc"
var fs = require('fs'),
childProcess = require('child_process'),
xml2js = require('xml2js');
var parser = new xml2js.Parser();
fs.readFile(__dirname + '/subscription_manager.xml', function (err, data) {
parser.parseString(data, function (err, result) {
var nodes = result.opml.body[0].outline[0].outline;
nodes.forEach(function (node, index) {
var url = node['$'].xmlUrl;
url = url.substring(url.indexOf('=') + 1, url.length);
var channel = 'https://www.youtube.com/channel/' + url;
if (index == 1) {
childProcess.exec('open -a "Google Chrome" ' + channel);
}
});
});
});
答案 0 :(得分:0)
你对MacOS vs Windows部分是对的 - 这段代码:
childProcess.exec('open -a "Google Chrome" ' + channel);
适用于MacOS终端。您可以尝试将其更改为:
childProcess.exec('start chrome ' + channel);
(在Windows 10上测试)