2011-07-13 130 views
6

我们将开发一个android应用程序,用于显示ecma脚本正在使用的svg格式的autocad 绘图文件。我们有 在模拟器中测试了应用程序,并在webview中打开了svg文件。 我们的问题是,XML标签中的ecmascript不会在android的webview 中执行。我们知道android仅支持3.0版本的SVG。 它不支持svg中的ecmascript?Android中的SVG支持

预先感谢

 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 石埠

+0

你能否建议如何使SVG能够在webview中显示特定的web内容? – GAMA

回答

11

的Android(3.0和更高版本)支持SVG与ECMAScript的。

问题是当在<img>标记中添加svg时,svg中的ecmacript不会执行。我还在几个桌面浏览器中测试了它,当svg位于<img>标记中时,ecmascript未在其中任何一个中执行。

有5种方式如何在HTML添加SVG:

  1. <img>标签
  2. 嵌入它与<embed>标签
  3. 嵌入其添加为图像与标签
  4. 将其与<object>标记嵌入
  5. 将svg代码直接嵌入html(使用<svg>标记)

仅当svg嵌入<embed>,或<object>标记中时,svg中的ecmascript才会执行。当将svg代码直接嵌入<svg>标记中时,可能需要对代码进行一些更改(例如,将脚本移动到html中的其他地方),但它也应该起作用。

+0

你应该创建一个单独的问题。评论并不适合这一点。 – Tomik

+0

任何其他支持android 2.3操作系统webbrowser的方式? –