2016-01-20 89 views
2

我有我需要嵌入HTML文件(使用HTML5 <svg>标签)嵌入的SVG文件。这些SVG文件有一个JavaScript的依赖,它看起来像这样:如何使一个嵌入在HTML中的SVG加载它的xlink:href依赖关系?

<script type="text/javascript" 
    xlink:href="http://gnuplot.sourceforge.net/demo_svg_4.6/gnuplot_svg.js"> 
</script> 

这里是一个standalone SVG图像与文字的依赖。要激活JavaScript,您可以单击图像,然后在光标后面有一个框告诉您您的(x,y)坐标。

但是,here is the same image直接嵌入到HTML文档中。根据网络检查员的说法,浏览器甚至不会尝试加载JavaScript依赖项。当你点击并在图像上移动光标时,控制台会填满一堆参考错误。

如何让嵌入式版本像加载独立版本一样加载JavaScript和函数?

+0

您的JS Bin在控制台中显示JS错误。 – CBroe

+0

@CBroe的确。它说:“未捕获的ReferenceError:gnuplot_svg未定义。”该变量* gnuplot_svg *在未加载的JavaScript文件中定义。 – sffc

回答

1

您链接的文档中的代码使用自我关闭<script>,这不起作用(不确定这是否是浏览器中的错误)。

的代码,你把它写:

<script type="text/javascript" 
    xlink:href="http://gnuplot.sourceforge.net/demo_svg_4.6/gnuplot_svg.js"> 
</script> 

至少会加载脚本,但随后的脚本假设文档的根元素是<svg>元素(它使用getScreenCTM)和HTML文档中的根元素将是一个<html>元素。

也许它不会帮助你,但你需要一个不同版本的脚本。

+0

请注意,在svg元素中使用自闭标签应该可以工作,因为svg元素的内容应该使用xml解析器而不是html解析。 –

+0

关于关闭脚本标记的良好观察。不幸的是,脚本仍然不能工作,因为它的文档根目录,但我会接受这篇文章,因为它回答了关于加载JavaScript元素的问题。 – sffc

+0

Lister先生,感谢您修复响应的语法! –

相关问题