Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法使用javascript访问SVG内容_Javascript_Html_Svg_Dom - Fatal编程技术网

Can';无法使用javascript访问SVG内容

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"

我在HTML页面上有一个SVG图像。图像加载良好,在屏幕上可见。我试着用js访问它,但是运气不好。最典型的例子是:

<!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>