我们将开发一个用于显示autocad的Android应用程序 以svg格式绘制文件,其中使用了ecma脚本。我们有 在模拟器中测试了应用程序并在webview中打开了svg文件。 我们的问题是XML标签中的ecmascript不会在webview中执行 在android中。我们知道android只支持3.0版的SVG。是否 它不支持svg中的ecmascript?
提前致谢
final String mimeType = "text/html";
final String encoding = "utf-8";
final String html = "<p><img height=\"600px\" width=\"600px \"src=\"file:///android_asset/drawing3.svg\" /></p>";
WebView wv = (WebView) findViewById(R.id.webview_component);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadDataWithBaseURL("fake://not/needed", html, mimeType, encoding, "");
Ragards Shibu
答案 0 :(得分:11)
Android(3.0及更高版本)支持带有ECMAScript的SVG。
问题是当在<img>
标记中添加svg时,svg中的ecmacript不会被执行。我还在几个桌面浏览器中对它进行了测试,当svg在<img>
标签中时,ecmascript没有在其中任何一个中执行。
如何在html中添加svg有5种方法:
<img>
标记<embed>
标记<iframe>
标记<object>
标记<svg>
标记)仅当svg嵌入<embed>
,<iframe>
或<object>
标记时,才会执行svg中的ecmascript。在直接在<svg>
标记中嵌入svg代码时,可能需要进行一些代码更改(例如,将脚本移动到html中的其他位置),但它也应该有效。