Electron 如何截获针对文件的请求并将其更改为http协议?
在Electron中,是否可以拦截针对文件:///的请求并将其重定向到http 我已经查看了Electron页面,但不清楚是否支持此功能。您可以使用schemeElectron 如何截获针对文件的请求并将其更改为http协议?,electron,Electron,在Electron中,是否可以拦截针对文件:///的请求并将其重定向到http 我已经查看了Electron页面,但不清楚是否支持此功能。您可以使用scheme文件来拦截文件:请求,而不是发出HTTP请求 示例(未测试): 注意:此示例可能需要改进,因为文件路径可能包含驱动器号,这对于HTTP请求无效。我还有另一种方法可以解决此问题,有趣的是,问题中的“截取”一词与此有很大关系:) 协议对象上有一个可以使用的函数 示例代码: app.on("ready", () => { prot
文件来拦截文件:
请求,而不是发出HTTP请求
示例(未测试):
注意:此示例可能需要改进,因为文件路径可能包含驱动器号,这对于HTTP请求无效。我还有另一种方法可以解决此问题,有趣的是,问题中的“截取”一词与此有很大关系:)
协议对象上有一个可以使用的函数
示例代码:
app.on("ready", () => {
protocol.interceptHttpProtocol("http", function(request, callback) {
var parsedUri = url.parse(request.url);
var filePath = path.join(__dirname, parsedUri.pathname);
request.url = "file://" + filePath;
callback(request);
});
var mainWindow = new BrowserWindow();
mainWindow.loadURL("http://localhost/index.html");
});
希望有帮助
app.on("ready", () => {
protocol.interceptHttpProtocol("http", function(request, callback) {
var parsedUri = url.parse(request.url);
var filePath = path.join(__dirname, parsedUri.pathname);
request.url = "file://" + filePath;
callback(request);
});
var mainWindow = new BrowserWindow();
mainWindow.loadURL("http://localhost/index.html");
});