2011-07-13 13 views
6

私たちは、ecmaスクリプトが使用しているsvg形式のautocad の描画ファイルを表示するためのアンドロイドアプリケーションを開発します。我々は エミュレータでアプリケーションをテストし、webviewでsvgファイルを開いた。 問題は、XMLタグのecmascriptがアンドロイドのwebview で実行されないということです。アンドロイドは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が特定のWebコンテンツをWebviewで表示できるようにする方法を提案できますか? – GAMA

答えて

11

のAndroid(3.0以降)のECMAScriptでSVGをサポートしています。

<img>タグにsvgを追加すると、svgのecmacriptが実行されないという問題があります。私はまた、いくつかのデスクトップブラウザでそれをテストし、svgが<img>タグである場合、ecmascriptはそれらのいずれでも実行されませんでした。

  1. がタグ
  2. <embed>タグ
  3. 埋め込み、それを<img>タグ
  4. 埋め込み、それを画像としてそれを追加します。

    HTMLでSVGを追加する方法を5つの方法があります。 (<svg>タグを使用して)<object>タグ

  5. 埋め込みSVGコードで
  6. 埋め込み、それを直接HTMLに

SVGでのECMAScriptは、SVGを<embed>、又は<object>タグに埋め込まれている場合にのみ実行されます。 <svg>タグに直接SVGコードを埋め込む場合は、コードを変更する必要があります(たとえば、スクリプトをHTML内の別の場所に移動するなど)が必要です。

+0

別の質問を作成する必要があります。コメントはこれのための適切な場所ではありません。 – Tomik

+0

アンドロイド2.3 OSのウェブブラウザをサポートする他の方法はありますか? –

関連する問題