我看到了几个通过flash类完成的例子。但那在dhtml环境中不起作用。对于dhtml环境,我必须创建一个单独的iframe组件或某种类型的东西,以便浏览器将处理它。有没有更好的方法?我还想知道openlaszlo是否对svg有内置支持?
答案 0 :(得分:1)
OpenLaszlo中没有内置的SVG支持。但是,如果使用第三方库创建自定义组件,仍然可以在两个运行时使用SVG。
Flash / Flex仅支持embedding SVG files at compile time,而非运行时。在OpenLaszlo中没有使用该功能的API。
对于SWFx,您可以使用SVG Web,这是一个JavaScript库,可在许多浏览器上提供SVG支持,包括Internet Explorer,Firefox和Safari。使用库加本机SVG支持,您可以立即锁定现有已安装Web基础的约95%。 SVG Web包含ActionScript based SVG renderer。通过将工具的修改版本编译为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页面,例如How do I dynamically insert an SVG image into HTML?