我有一个应用程序,它有很多控件,它使用 AJAX 来获取一些客户端属性,如高度和宽度,然后服务器生成一个大型 SVG 地图并返回一个响应。在响应的情况下,我无法加载响应 SVG 文件(其大小为 14 MB),因为在响应到达时没有触发事件(我尝试使用 DOMContentLoaded 和 OnLoad 但没有运气)。当我尝试在 javascript 中访问 SVG 的元素时遇到了错误,我认为 DOM 尚未准备好。如何确保加载大型 SVG 文件。在动态生成的 SVG 文件的情况下,当 DOM 准备好时,是否有我可以连接的事件?我为解决问题而采取的步骤(但没有运气) 我尝试在 JavaScript 中生成响应 SVG 的克隆,但没有运气,因为当我尝试访问 SVG 的一个元素时再次遇到异常。我需要一些关于如何使用 Javascript(任何事件?)在 IE9 中加载相对较大的 SVG 文件的建议,因为我已经能够在 Chrome 和 FireFox 中成功加载这些文件。
一小段示例代码说明使用SVGLoad事件后的问题。
var SVG=document.getElementById('gwmroot');
SVG.addEventListener("SVGLoad","LoadSVG",false);
function LoadSVG()
{
var _gwmcore.svgDoc=document;
}
在上面的代码中,SVG 文件存在于文档对象中,它动态地响应 Ajax 请求,随后回调发生在包含上述代码的 javascript 文件中。我无法以某种方式调用 LoadSVG 函数。_gwmcore 是一个全局对象,它具有处理 svg 文档的方法和属性。
提前致谢