如何解决无需 javascript 和外部资源即可嵌入安全的 x3d
TL;DR 我怎样才能使用 X3D,从而不能从文件中引用任何外部资源,也不能运行 javascript。
我正在尝试允许在 Medium.com 中嵌入 SVG 和 X3D(通过 embedly)。 SVG 可以是 embedded in a safe way 通过 <img
标签。这确保 SVG 永远不能使用 javascript,也不能使用外部资源。尽管有人可能会争论这种安全性是否必要(以及它是否过多地限制了 SVG),但我确实认为嵌入很好;你不希望嵌入加载跟踪像素,开始发出声音,或显示一个弹出窗口,人们应该再次登录到 Medium(注意:SVG 是从它自己的域加载到 iframe 中的,因此浏览器将保护它访问父作用域,仍然有很多 javascript 可以做的事情)......我喜欢安全开始的想法,并且,如果有必要并且我们对如何去做有很好的感觉,慢慢地允许更多用例。截至目前,SVG embedding in Medium is live。
我绝对喜欢为 X3D 制作一个类似的嵌入。我目前正在写一篇关于 python-3d-modeller-hobby-project (MacPy3D) 的(缓慢)进展的博客,如果您有一种简单的方法来共享 3D 模型作为嵌入,那么事情会那么更容易解释。 X3D 似乎是做到这一点的理想方式——显然我希望其他人能够使用相同的工具。所以我的问题是,我是否可以通过以下方式展示 X3D:
- 没有 javascript 可以在打开时运行
- 任何 javascript 都不能因用户交互(例如 onclick)而运行
- 无法加载任何外部资源(我知道这将暂时限制 X3D 的某些可能性,例如纹理,除非它们以 blob 文件中的形式提供)。
即使是关于如何预防上述问题之一的提示也会有所帮助。
快速概述系统应该如何工作:
- 一个人将使用 X3D 文件 (example) 创建一个公共要点
- 然后将此文件(通过 X3D
<inline
标记)包含到一个空的 X3D 场景中——这是我目前发现的将外部 X3D 文件包含到页面中并使其呈现的唯一方法:
<html>
<body>
<script type="text/javascript"
src="https://www.x3dom.org/download/x3dom.js"> </script>
<link rel='stylesheet' type='text/css'
href='https://www.x3dom.org/download/x3dom.css'></link>
<x3d>
<scene>
<inline url="https://gist.githubusercontent.com/reinhrst/99de8d5fdb5c7278b42f1fa63d1289b6/raw/fdfbfb650e694e52d0c400141b4dd15f9e13a874/ball.x3d"> </inline>
</scene>
</x3d>
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。