javascript - 使用 JavaScript 在 SVG 中嵌入 JPEG

标签 javascript image svg

我想知道如何在 SVG 中包含 jpg 图像!

var ns = 'http://www.w3.org/2000/svg';
var svg = document.createElementNS(ns, 'svg');
svg.setAttribute('width', 800);
svg.setAttribute('height', 450);

var image = document.createElementNS(ns, 'image');
image.setAttribute('href', 'http://placehold.it/300x300');
image.setAttribute('x', 0);
image.setAttribute('y', 0);
image.setAttribute('width', 800);
image.setAttribute('height', 450);

svg.appendChild(image);
document.body.appendChild(svg);

我的错误在哪里?

最佳答案

对于 Safari,您需要进行更改

image.setAttribute('href', 'http://placehold.it/300x300');

image.setAttributeNS('http://www.w3.org/1999/xlink', 'href', 'http://placehold.it/300x300');

第二种方式也兼容 Chrome/Firefox。

Safari 将来可能会支持您的方式,因为它是即将推出的 SVG 2 规范的一部分,第二种方式是 SVG 1.1 的处理方式。

关于javascript - 使用 JavaScript 在 SVG 中嵌入 JPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41727984/

相关文章:

javascript - JavaScript 中的双引号转义

javascript - jquery - 取消同一页面其他部分发生的警报

c# - 图像裁剪无法正常工作

JavaScript 函数名 alt()

javascript - Angular Material 2 : Not found error

javascript - 使用 JavaScript(不是 JQuery!)淡化图像

html - 如何显示不同的号码图像覆盖图像?

html - 重置 :hover 上的 css 属性

Angular 绑定(bind)到 svg 文本元素获取未知属性错误

html - 如何缩放和居中内联 SVG?