您好,您测试下如下代码,可以将带中文的svg转换为base64 url
- // 下面这行元素选择代码请按实际情况写
- var svg = $("svg", "#introChart")[0]
- // get svg source.
- var serializer = new XMLSerializer();
- var source = serializer.serializeToString(svg);
- // add name spaces.
- if(!source.match(/^<svg[^>]+xmlns="http\:\/\/www\.w3\.org\/2000\/svg"/)){
- source = source.replace(/^<svg/, '<svg xmlns="http://www.w3.org/2000/svg"');
- }
- if(!source.match(/^<svg[^>]+"http\:\/\/www\.w3\.org\/1999\/xlink"/)){
- source = source.replace(/^<svg/, '<svg xmlns:xlink="http://www.w3.org/1999/xlink"');
- }
- // add xml declaration
- source = '<?xml version="1.0" standalone="no"?>\r\n' + source;
- //convert svg source to URI data scheme.
- var url = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(source);
- //set url value to a element's href attribute.
- document.write('<img src="' + url + '"/>');
复制代码 |