2011-07-13 23 views
6

Vamos a desarrollar una aplicación de Android para mostrar un archivo de dibujo de autocad en formato svg en el que está usando el script ecma. Tenemos probado la aplicación en emulador y abrimos el archivo svg en webview. nuestro problema es que ecmascript en etiquetas XML no se ejecuta en webview en android. Sabemos que Android solo es compatible con SVG desde 3.0. ¿ no es compatible con ecmascript en svg?Soporte de SVG en Android

Gracias de antemano

 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

¿Puede sugerir cómo habilitar SVG para que pueda mostrar contenido web específico en la vista web? – GAMA

Respuesta

11

Android (3.0 y posterior) soporta SVG con ECMAScript.

El problema es que ecmacript en svg no se ejecuta cuando svg se agrega en la etiqueta <img>. También lo probé en varios navegadores de escritorio y cuando svg está en la etiqueta <img>, ecmascript no se ejecutó en ninguno de ellos.

Hay 5 maneras de cómo agregar SVG en el html:

  1. añadirlo como una imagen con la etiqueta <img>
  2. incrustarla con la etiqueta <embed>
  3. Insertar con el etiqueta
  4. incrustarla con la etiqueta <object>
  5. Embed código SVG directamente en el html (usando <svg> tag)

El ECMAScript en el SVG se ejecuta sólo si el SVG está incrustado en <embed>, o <object> etiqueta. Al incorporar el código svg directamente en la etiqueta <svg>, puede ser necesario hacer algunos cambios de código (por ejemplo, mover los scripts a otro lugar en el html), pero también debería funcionar.

+0

Debe crear una pregunta por separado. Los comentarios no son el lugar apropiado para esto. – Tomik

+0

de otra forma que soporte webbrowser en Android 2.3 OS? –

Cuestiones relacionadas