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

如何检查HTML页面中是否加载了嵌入式SVG文档?

周鸿光
2023-03-14
问题内容

我需要编辑(使用javascript)嵌入html页面的SVG文档。

加载SVG后,我可以访问SVG的dom及其元素。但是我不知道SVG dom是否准备好,因此当加载html页面时,我无法对SVG执行默认操作。

要访问SVG dom,我使用以下代码:

var svg = document.getElementById("chart").getSVGDocument();

其中“图表”是embed元素的ID。

如果在html文档准备好后尝试访问SVG,则采用这种方式:

jQuery(document).ready( function() {
var svg = document.getElementById("chart").getSVGDocument();
...

svg始终为null。我只需要知道它何时不为null,就可以开始操作它了。你知道是否有办法吗?


问题答案:

您可以尝试每隔一段时间进行一次轮询。

function checkReady() {
    var svg = document.getElementById("chart").getSVGDocument();
    if (svg == null) {
        setTimeout("checkReady()", 300);
    } else {
        ...
    }
}


 类似资料:
  • 问题内容: 想象一下,您单击页面上使用的元素,并想从结果页面中检索结果。如何检查以确保生成的页面已加载?我可以在处理页面和单击元素之间插入,但这似乎是一种非常丑陋且缓慢的方法。 问题答案: 设置然后在页面上搜索元素。从 setImplicitWaitTimeout(毫秒= 10000) 设置驱动程序在搜索元素时应等待的时间。当搜索单个元素时,驱动程序将轮询页面,直到找到一个元素或超时到期为止,以先

  • 我很乐意得到任何暗示。 谢谢

  • 问题内容: 加载JavaScript文件时是否会触发事件?由于YSlow建议将JavaScript文件移动到页面底部,因此出现了问题。这意味着 在加载包含其代码的js文件之前会触发该事件。 如何避免这种情况? 问题答案: 我没有方便的参考,但是脚本标记是按顺序处理的,因此,如果将脚本标记放在定义function1等的脚本标记之后,则应该可以。 当然,另一种方法是通过在构建过程中合并文件来确保总共只

  • 问题内容: 我想在body标签上设置背景图片,然后运行一些代码-像这样: 如何确定背景图像已完全加载? 问题答案: 尝试这个: 这将在内存中创建新映像,并使用load事件检测何时加载src。

  • 我正在尝试检查用户单击按钮后是否加载了iframe。 我有 顺便说一下,我的iframe是动态创建的。它不会与初始页面加载一起加载。

  • 问题内容: 如何将SWF文件嵌入HTML页面? 问题答案: 将SWF嵌入HTML页面的最佳方法是使用SWFObject。 这是一个简单的开源JavaScript库,它是易于使用且符合标准的方法来嵌入Flash内容。 它还提供Flash Player版本检测。如果用户没有所需的Flash版本或禁用了JavaScript,则他们将看到替代内容。您还可以使用此库来触发Flash Player升级。用户升