当前位置: 首页 > 面试题库 >

JavaScript访问SVG的内部DOM

唐永春
2023-03-14
问题内容

test.php 是用PHP生成的SVG对象

<object data="test.php" type="image/svg+xml" id="SVG" />
<script>
    var mySVG = document.getElementById("SVG");
    var svgDoc = mySVG.contentDocument;

svgDoc一片空白。(因此,我无法通过JS访问svg的元素。)它应该可以工作,看看这个问题。我究竟做错了什么?如何获得contentDocumentSVG?


问题答案:

您需要等待SVG加载完毕,然后才能访问contentDocument:

 var mySVG = document.getElementById("SVG");
 var svgDoc;
 mySVG.addEventListener("load",function() {
      svgDoc = mySVG.contentDocument;
      alert("SVG contentDocument Loaded!");
 }, false);


 类似资料:
  • 问题内容: 我搞砸了SVG,希望能在Illustrator中创建SVG文件并使用Javascript访问元素。 这是Illustrator推出的SVG文件(它似乎也向我删除的文件的开头添加了一些垃圾) 正如您可能看到的那样,每个元素都有一个ID,我希望能够使用Javascript访问单个元素,以便我可以更改Fill属性并响应诸如click之类的事件。 HTML是基本的 我想这真的是两个问题。 与使

  • 问题内容: 我想使用jQuery在iframe中操纵HTML。 我认为我可以通过将jQuery函数的上下文设置为iframe的文档来做到这一点,例如: 但是,这似乎不起作用。一点检查就可以看出,除非等待iframe加载,否则其中的变量是。但是,在iframe加载时,变量不可访问(我收到-type错误)。 有人知道解决方法吗? 问题答案: 如果来自相同的域,则可以很容易地访问元素

  • 我有两个不同的微服务,将尤里卡作为服务注册表,现在我正在尝试从另一个微服务调用微服务,解析带有功能区的endpoint以进行客户端负载平衡。 服务A: 此服务公开一个终结点,并且应用程序.yml 如下所示: 调用服务A的服务B具有以下应用程序类: 控制器 服务 但我在尝试访问服务时遇到了一个异常: 对此有什么建议吗?

  • 问题内容: 我正在尝试使用docker-compose启动kafka服务,并且应该可以在docker内部和外部进行访问。因此,应该在内部和外部设置合适的广告客户: 问题是,当我尝试从群集外部进行连接时,节点名称不是127.0.0.1,而是内部主机名: 这不是KAFKA_ADVERTISED_LISTENERS和KAFKA_LISTENERS处理这种情况的目的吗?我尝试设置KAFKA_ADVERTI

  • 我在Kubernetes集群中配置了Keycloak(10.0.3)服务器。 问题是,当我试图访问我的web应用程序时,它总是重定向到'http://keycloak-cluster-http.keycloak-cluster.svc.cluster.local/auth/realms/myrealm',这在K8S之外无法解决。 如果我将issuiser-uri更改为http://keycloak

  • 问题内容: 在内部类中,可以访问外部类的变量,但不能访问方法的局部变量。我了解了无法访问方法的局部变量的部分,但我想知道为什么外部类变量可以访问? 我的理解是,由于内部类与外部类绑定,因此只要父级可用,子级就可以访问其父级变量。我对么? 问题答案: 假设您的外部类在内部类的范围内(非静态)被称为,以获取该字段。 例如, 其中Outer是类的名称,并标识该字段。 您也可以直接抓取它,但是如果由于阴影