作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 safari 中尝试通过代码将 svg 转换为 base64 url 时遇到此错误:
$svgCopy = $('svg').clone()
html = $('<div>').append($svgCopy).html()
imgSrc = 'data:image/svg+xml;base64,' + btoa(html)
imgEl.src = imgSrc
<use NS1:href="#source" />
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#source" />
setAttributeNS
一切正常:
el.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#source')
最佳答案
我没有找到比简单地替换这些事件更好的解决方案:
html = html.replace(/NS\d+:href/gi, 'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href')
xmlns:xlink="http://www.w3.org/1999/xlink
在根上,Safari 喜欢这样,所以现在我将此属性添加到根:
draw.canvas.setAttributeNS('http://www.w3.org/2000/svg', 'xlink', 'http://www.w3.org/1999/xlink')
// Firefox, Safari root NS issue fix
html = html.replace('xlink=', 'xmlns:xlink=')
// Safari xlink NS issue fix
html = html.replace(/NS\d+:href/gi, 'xlink:href')
关于svg - %tagElement% 上的 href 的命名空间前缀 NS1 未定义,setAttributeNS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30273775/
我在 safari 中尝试通过代码将 svg 转换为 base64 url 时遇到此错误: $svgCopy = $('svg').clone() html = $('').append($svg
我是一名优秀的程序员,十分优秀!