内联SVG vs <object>嵌入式
Inline SVG vs <object> embedded
我正在为《星战前夜》创造一款游戏内浏览器RoR应用。我的应用程序的要求之一是显示由graphviz生成的SVG图形。在这个环境中,我遇到了一些问题,无法满足我的需求。
没有关于Eve的IGB的官方文档,但是维基表明:
新的EVE Online游戏内浏览器(代号Moondoggie)是基于结合两个元素的技术堆栈:
Awesomium:一个中间件层,将渲染后的网页作为3D引擎可解析的数据传递。Awesomium是由Khrona Software开发的。Chromium:一个中间件层,提供进程间通信、网页渲染、HTTP通信以及编写web浏览器所需的所有其他基础。它本身是基于苹果的Webkit框架。Chromium是一个主要由Google支持的开源项目。
正因为如此,Moondoggie能够通过Acid3测试,因此可以支持完整的HTML 4.01和CSS3规范。
我需要我在SVG中包含的链接来访问我的应用程序的javascript。嵌入它与<embed>
或<object>
使SVG超出了我的JS文件的范围。
使用<embed>
或<object>
可以在游戏内浏览器中正确渲染svg。当它像下面这样内联时,它显示一行文本,其中只包含来自SVG的文本元素。
这就是我现在的处境。我很确定这大部分是多余的,因为我没有注意到仅仅使用render file:
在我自己的视图中有什么不同。我认为mime类型注册更适合与respond_to一起使用,但我不确定如何在这种情况下使用它。
主视图代码片段:
<%= render "map/map" %>
局部视图文件:
<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_types.rb:
Mime::Type.register "image/svg+xml", :svg
我不明白为什么它在<object>
标签内呈现得很好,但内联时却不行。如何在我的主视图中模拟<object>
内的环境?或者,我怎么能给<object>
标签访问我的javascript函数?
可以在父文档的
下面是一个如何从父html文档中的脚本修改svg文档的示例。- 有可能过滤来自嵌入式YouTube的声音吗
- 函数未在Object.keys或Object.getOwnPropertyNames下列出,但可以调用
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- WebResources嵌入式资源和Javascript如何在另一个嵌入式资源中使用它们
- Javascript嵌入式图像资源
- 有没有一种方法可以列出Ember.Object的所有绑定
- 如何取消object.prototypes javascript的一个函数
- javascript从任何嵌入式flash视频中发现.flvurl
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- 将*.js文件的内容放入Object中
- Object.prototype using 'this'
- 使用Object.create()的角度服务继承
- 如何使用object.assign()从其他对象引用基本对象属性
- 循环的数组推入在Object容器中具有不同的值
- reducers在redux中得到Function not Object,what'it’他错了
- JSON.stringify和Object.keys在同一个对象上产生不同的结果
- Meteor移动应用程序-嵌入式数据库
- 解析带有嵌入式数组的JSON对象,方法
- 嵌入式pdf在Opera浏览器中总是名列前茅
- 在使用object.create创建的对象中使用super