Javascript 内联SVG vs<;对象>;嵌入的

Javascript 内联SVG vs<;对象>;嵌入的,javascript,ruby-on-rails,svg,html4,Javascript,Ruby On Rails,Svg,Html4,我正在为Eve Online构建一个游戏内浏览器RoR应用程序。我的应用程序的一个要求是显示由graphviz生成的SVG图形。我在这个环境中遇到了一些问题,无法满足我的需求 Eve的IGB没有官方文档,但wiki指出: new EVE在线游戏内浏览器(代号为Moondoggie)基于结合两个元素的技术堆栈: Awesomium:一个中间件层,将呈现的网页作为可由3D引擎解析的数据提供。Awesomium由Khrona软件开发 Chromium:一个中间件层,提供进程间通信、网页呈现、HTTP通

我正在为Eve Online构建一个游戏内浏览器RoR应用程序。我的应用程序的一个要求是显示由graphviz生成的SVG图形。我在这个环境中遇到了一些问题,无法满足我的需求

Eve的IGB没有官方文档,但wiki指出:

new EVE在线游戏内浏览器(代号为Moondoggie)基于结合两个元素的技术堆栈:

Awesomium:一个中间件层,将呈现的网页作为可由3D引擎解析的数据提供。Awesomium由Khrona软件开发

Chromium:一个中间件层,提供进程间通信、网页呈现、HTTP通信以及编写web浏览器所需的所有其他基础知识。它本身就是基于苹果的Webkit框架。Chromium是一个开源项目,主要由谷歌支持

因此,Moondoggie能够通过Acid3测试,从而支持完整的HTML4.01和CSS3规范

我需要SVG中包含的链接才能访问我的应用程序的javascript。用
嵌入它会将SVG排除在我的JS文件的范围之外

使用
可以在游戏浏览器中正确呈现svg。当它是内联的,就像我在下面看到的一样,它会显示一行文本,其中只包含SVG中的文本元素

更新 这就是我要说的。我很确定这大部分都是多余的,因为我没有注意到仅仅在我的视图中使用
渲染文件:
的区别。我认为mime类型注册更适合与respond_to一起使用,但我不确定在这种情况下如何使用它

主视图的片段:

<%= render "map/map" %>

我不明白为什么它在
标记中呈现良好,但在内联时却呈现不好。如何在主视图中模拟
中的环境?或者,如何授予标签访问javascript函数的权限?

可以从父文档中访问文档。这是ACID3仍然测试的svg(太少)之一


如何从父html文档中的脚本修改svg文档。

这是否意味着此基于Webkit的浏览器不支持HTML5?使用XHTML4是一种选择吗?就HTML5之前的版本而言,根据我的经验,XHTML确实是最有希望的工作方式。虽然有“HTML5原型支持”,但它似乎是成功或失败的。我不太确定。这就是这个浏览器支持和不支持的所有文档。我对XHTML不是很熟悉,对doctype也没有很好的理解,但我正在研究以下内容:。我想我需要使用其中一个,而不是
来使用XHTML?这只是一个想法。谷歌图表的功能或许值得一看。它们大量使用SVG和Javascript,因此您可以从中获得一些想法。也许你可以在互动图库中的饼图中找到一些想法。我想他们直接使用标签,这让一切都在范围内。谢谢,我一定会检查一下,看看它是否在IGB中起作用。在这一点上,我很高兴能够在游戏之外重现这种行为。你能发布一个渲染调用的实际渲染输出的示例吗?对象/嵌入需要来自父对象的事件侦听器。这就是我一开始使用内联的原因。是否可以将事件侦听器添加到从父页面调用函数的
内的标记中?是的。使用
elm.addEventListener
添加事件侦听器,然后在处理事件的函数中可以调用,例如
window.parent.YourFunctionInIndocument(…)
,与此示例稍有类似:。
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:svg="http://www.w3.org/2000/svg">
<head>
    <title>Embedded SVG</title>
</head>
    <body>
        <%= render file: @map.output_file_path %>
    </body>
</html>
Mime::Type.register "image/svg+xml", :svg