我看到了一些通过 Flash 课程完成的示例。但这在 dhtml 环境中不起作用。对于 dhtml 环境,我必须创建一个单独的 iframe 组件或类似的东西,以便浏览器处理它。有没有更好的方法?我还想知道openlaszlo是否对svg有任何内置支持?
1 回答
OpenLaszlo 中没有对 SVG 的内置支持。但是,如果您使用 3rd 方库创建自定义组件,仍然可以在两个运行时中使用 SVG。
Flash/Flex仅在编译时支持嵌入 SVG 文件,而不是在运行时。在 OpenLaszlo 中没有使用该功能的 API。
对于 SWFx,您可以使用SVG Web,这是一个 JavaScript 库,它在许多浏览器上提供 SVG 支持,包括 Internet Explorer、Firefox 和 Safari。使用该库加上原生 SVG 支持,您可以立即定位约 95% 的现有已安装 Web 库。SVG Web 包括一个基于 ActionScript 的 SVG 渲染器。通过将该工具的修改版本编译到 OpenLaszlo 的 SWC 中,可以重用该源代码以向 SWF 运行时添加 SVG 支持。
SWF 运行时的另一个选项是http://labs.zavoo.com/content/flex/DrawSvg/srcview/index.html
现在所有现代浏览器都支持 SVG:http ://caniuse.com/svg您可以创建自己的视图,并将 SVG 添加为显示对象的子项。只需确保设置正确的 CSS 样式,以便 SVG 确实缩放到父 DIV 的大小。
Stackoverflow 有一些很好的示例向您展示如何将 SVG 动态添加到 HTML 页面,例如如何将 SVG 图像动态插入 HTML?