伙计们,我被困在使用车把在HTML电子邮件中显示base64图像.js。
//imageURL : data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4MLwWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw==
<img id="img" class="someClass" src="{{imageURL}}" >
我不知道如何使用车把显示图像。请帮助我走得更远。
您的模板已经正确。如果需要使用模板的示例,请参阅以下代码:
var source = document.getElementById("template").innerHTML;
var template = Handlebars.compile(source);
var context = {
imageURL: "data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4MLwWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw=="
};
var html = template(context);
document.getElementById("template").innerHTML = html;
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.min.js"></script>
<div id="template">
<img id="img" class="someClass" src="{{imageURL}}" >
</div>
更新:作者没有指定该模板在电子邮件中使用。如评论中所述,电子邮件客户端可能不支持base64图像。有关此问题的更详细答案,请查看 http://stackoverflow.com/a/9330720/2540618 的答案。
您需要像这样使用SafeString:
import { SafeString } from 'handlebars'
const imageURL = new SafeString('data:image/png;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACw...')
// In your template
<img id="img" class="someClass" src="{{imageURL}}" >