2011-07-13 54 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的方式? –