Can';无法使用javascript访问SVG内容
我在HTML页面上有一个SVG图像。图像加载良好,在屏幕上可见。我试着用js访问它,但是运气不好。最典型的例子是:Can';无法使用javascript访问SVG内容,javascript,html,svg,dom,Javascript,Html,Svg,Dom,我在HTML页面上有一个SVG图像。图像加载良好,在屏幕上可见。我试着用js访问它,但是运气不好。最典型的例子是: <!DOCTYPE html> <html lang="en"> <body> <button onclick="print();">Print</button> <object data="drawing.svg"
<!DOCTYPE html>
<html lang="en">
<body>
<button onclick="print();">Print</button>
<object data="drawing.svg" type="image/svg+xml" onload="print();"></object>
</body>
<script>
function print() {
var obj = document.body.getElementsByTagName("object")[0];
console.log("obj = " + obj);
console.log("obj.getSVGDocument() = " + obj.getSVGDocument());
console.log("obj.contentDocument = " + obj.contentDocument);
console.log("obj.firstElementChild = " + obj.firstElementChild);
console.log("obj.childNodes.length = " + obj.childNodes.length);
}
</script>
</html>
我还查了著名的,但它给了我
Uncaught TypeError: Cannot read property 'getElementById' of null at HTMLObjectElement.<anonymous>
Uncaught TypeError:无法读取HTMLObjectElement处null的属性“getElementById”。我通过将文件放在Internet上解决了这个问题(以前它们是脱机的)
将它们放到网上后,我可以访问contentDocument
,它不再是空的。控制台输出:
obj.contentDocument=[object-XMLDocument]
然后我可以用javascript修改SVG的内容
Uncaught TypeError: Cannot read property 'getElementById' of null at HTMLObjectElement.<anonymous>