我们将开发一个用于显示autocad的android应用程序
使用ecma脚本的svg格式的图形文件。我们有
在模拟器中测试了该应用程序,并在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, "");
拉加兹
涩部
最佳答案
Android(3.0及更高版本)通过ECMAScript支持SVG。
问题在于,当在<img>
标记中添加svg时,svg中的ecmacript不会执行。我还在多个 table 面浏览器中对其进行了测试,并且当svg位于<img>
标记中时,在其中任何一个中均未执行ecmascript。
有5种方法可以在html中添加svg:
<img>
标签<embed>
标记<iframe>
标记<object>
标记<svg>
标签)仅当svg嵌入在
<embed>
,<iframe>
或<object>
标记中时,才执行svg中的ecmascript。将svg代码直接嵌入<svg>
标记时,可能需要进行一些代码更改(例如,将脚本移动到html中的其他位置),但它也应该起作用。