getSVGDocument在Chrome中返回NULL

use*_*880 5 javascript jquery svg

我开始使用SVG,并且具有以下代码:

的HTML

<embed id="embed" src="svg.svg" type="image/svg+xml" width="400" height="300" >

<object id="object" data="svg.svg" type="image/svg+xml" width="400" height="300"></object>
Run Code Online (Sandbox Code Playgroud)

Java脚本

$(window).load(function (){
//alert("Document loaded, including graphics and embedded documents (like SVG)");

    var svgDoc_embed = document.getElementById("embed").getSVGDocument();
    alert("My svgDoc_embed => " + svgDoc_embed);

    var svgDoc_object = document.getElementById("object").getSVGDocument();
    alert("My svgDoc_object => " + svgDoc_object);  

});
Run Code Online (Sandbox Code Playgroud)

在FireFox浏览器中运行良好

My svgDoc_embed => [object SVGDocument]
My svgDoc_object => [object SVGDocument]
Run Code Online (Sandbox Code Playgroud)

但不适用于Chrome浏览器。

My svgDoc_embed => null
My svgDoc_object => null
Run Code Online (Sandbox Code Playgroud)

我已经搜索了Internet,但是找不到任何有效的方法

欢迎任何建议

================================================== ========================

我尝试打开Chrome JS控制台并输入:

document.getElementById ("object"). GetSVGDocument ();

结果为空。

还将代码更改为:

$ ("embed"). load (function () {
svgDoc_embed var = document.getElementById ("embed"). getSVGDocument ();
alert ("My # embed svgDoc_embed =>" + svgDoc_embed);
});

  $ ("object"). load (function () {
  svgDoc_object var = document.getElementById ("object"). getSVGDocument ();
alert ("My # object svgDoc_object =>" + svgDoc_object);
  });
Run Code Online (Sandbox Code Playgroud)

并没有给出任何结果。

任何建议都欢迎。

Pau*_*eau 2

我相信 getSVGDocument() 已被弃用并且在我的 FF 副本中不起作用。尝试使用firstElementChild代替:

var svg = document.getElementById("object").firstElementChild;
Run Code Online (Sandbox Code Playgroud)

或者直接使用以下命令访问 SVG 元素:

var svg = document.getElementById("foo");
Run Code Online (Sandbox Code Playgroud)

其中“foo”是根 svg 元素的 id 属性的值。

<svg id="foo">
Run Code Online (Sandbox Code Playgroud)

  • 当您内联插入 &lt;svg&gt; 元素时,它不会形成单独的 SVG 文档。它成为外部 HTML 文档的一部分。然而,当 SVG 嵌入 &lt;object&gt; 时,它包含它自己的文档。 (7认同)