3
我開始使用SVG返回NULL,我有以下代碼:getSVGDocument是在Chrome
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>
的Javascript
$(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);
});
在FireFox瀏覽器效果不錯
My svgDoc_embed => [object SVGDocument]
My svgDoc_object => [object SVGDocument]
但在Chrome瀏覽器上不起作用。
My svgDoc_embed => null
My svgDoc_object => null
我已經在互聯網上搜索,但無法找到任何工作
任何建議,歡迎
================== ================================================== ======
我嘗試打開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);
});
,不給任何結果。
任何建議是值得歡迎的。
contentDocument是否可以在Chrome中使用?即document.getElementById(「embed」)contentDocument –
getSVGDocument()在我的一臺服務器上的Chrome上工作,但不在另一臺上。也許這是密碼保護? contentDocument也返回null。 firstElementChild也爲null。 – Curtis
顯然你必須等待它加載第一,然後'contentDocument'似乎工作。請參閱http://stackoverflow.com/questions/11434916/javascript-accessing-inner-dom-of-svg –