javascript - 在 Google Chrome 上显示 svg 图像

标签 javascript google-chrome svg d3.js

当我想在 Google Chrome 上使用 D3.js 库显示 SVG 图像时遇到问题。

下面是代码:

var svg = d3.select("body").append("embed");

svg.attr("src","img/drawing.svg").attr("type","image/svg+xml");

此代码适用于 Firefox,但不适用于 Google Chrome(如果我使用对象而不是嵌入,也会出现同样的问题)。

但是如果我将此样式添加到我的 SVG 图片中:attr("style", "display:block"),我的图片将显示在 Google Chrome 上。

...有人可以解释一下发生了什么吗?因为这样显示我的图像非常难看。

最佳答案

根据w3schools ,嵌入标签“在 HTML4 和 XHTML 中已弃用(但在 HTML5 中允许)”。您应该使用对象标签。以下代码片段适用于我的 Chrome:

var svg = d3.select("body").append("object");

svg.attr("data", "http://upload.wikimedia.org/wikipedia/commons/6/6b/Bitmap_VS_SVG.svg")
   .attr("type","image/svg+xml");

关于javascript - 在 Google Chrome 上显示 svg 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16082387/

相关文章:

ruby - 禁止 Watir 中的自动关闭窗口

jquery - 初始加载时 Chrome 滚动滞后

css - 使用 SVG feTurbulence 作为过滤器会导致 Safari 中出现奇怪的渲染问题

javascript - 跳过第一个可选参数并将第二个参数传递给 Backbone 模型。保存

javascript - 映射表 child 内容与 puppeteer 师

html - chrome 忽略了我的标签索引

jquery - 如何从中心填充矩形 html , css

svg - D3 如何放大 SVG 矩形内的 SVG 文本?

javascript - 不知道cookie的路径是什么?如何找到它?

javascript - 访问对象属性