我正在制作一个基于 js 的 epub 阅读器作为周末项目,我正在尝试将每本书页面上图像的 src 属性从图像 url 更改为从 epub zip 加载的数据 URI。这是我的功能:
//page contents is just an html string of the book's page
pageContents = GlobalZipLoader.load('epub.zip://' + pageLocation);
pageContents = replaceImages(pageContents)
...
function replaceImages(pageContents){
$(pageContents).find('img').each(function(){
var domImage = $(this);
//this is something like ".../Images/img.jpg"
var imageLocation = domImage.attr('src');
//this returns the proper data-uri representation of the image
var dataUri = GlobalZipLoader.loadImage('epub.zip://' + imageLocation);
//this doesn't seem to "stick"
domImage.attr('src', dataUri);
});
return pageContents;
}
replaceImages 函数返回的 pageContents 仍然具有旧的 src 属性。如果需要,我可以提供更多细节,但非常感谢任何帮助。
感谢 The System Restart 和 Ilia G 的正确答案:
function replaceImages(pageContents) {
newContent = $(pageContent);
... manip ...
return newContent;
}