我正在使用带反应的电子进行epub项目,并使用epub解析epub文件。通过此解析器,我能够获取css
,ttf
这些文件。但是,这些文件将无法正常使用。例如,对于当前节的html可能要导入<link href="flow0003.css" rel="stylesheet" type="text/css">
之类的CSS,而不会加载此css
文件。
要解决此问题,是否可以动态地存储一些文件以响应公共文件夹?
我一直在网上搜索,由于安全原因,似乎无法进行搜索。我也曾搜索过类似的电子方法,但由于该项目正在使用电子与反应,因此似乎没有任何建议。
顺便说一句,我能够像这样动态注入样式: Book.tsx
useEffect(() => {
const css = Object.values(book.manifest).filter(({ href }) => href.endsWith('.css'));
Promise.all(css.map(c => getcss(book,c.id)))
.then(arr => arr.join('\n'))
.then(styles => {
if (!ref.current) return;
ref.current.setattribute('style',styles);
});
},[book]);
但是,字体文件的嵌套improt仍然无法工作。
那么电子反应有可能将样式表,字体文件存储到其公用文件夹中吗(以后也需要删除)?
我知道可以用html解析img,样式数据。例如,使用react的dom.setattribute
动态注入样式表。同样,对于img
标签,可以像<img src={data:${mimeType};base64,${imgData.toString('base64')}}>
一样直接注入图像数据。那么,有什么等效的方式可以加载字体吗?