IE 8で作業していますが、javascriptを使用して2つのVML楕円(A、B)をマイページに追加しようとしています。いずれの楕円も親DIVに追加されますが、私は2番目の楕円は描画されません。IE8でJavaScript経由で複数のVML要素を追加する
私はappendChild(A)、appendChild(B)、楕円Aを描画し、Bは描画しません。 appendChild(B)、appendChild(A)の場合、楕円Bは描画され、Aは描画されません。
document.namespaces.add("v","urn:schemas-microsoft-com:vml");
this.container = Document.getElementById(mydiv);
var grid2 = document.createElement("v:oval");
grid2.style.left= "300px";
grid2.style.top= "250px";
grid2.style.width= "25pt";
grid2.style.height= "75pt";
grid2.style.position="absolute";
grid2.style.behavior="url(#default#VML)";
grid2.style.display="inline-block";
grid2.setAttribute("fillcolor","#FF0000");
grid2.setAttribute("id", "marker2");
var grid = document.createElement("v:oval");
grid.style.left="100px";
grid.style.top="100px";
grid.style.width="94pt";
grid.style.height="164pt";
grid.style.position="absolute";
grid.style.behavior="url(#default#VML)";
grid.style.display="inline-block";
grid.setAttribute("fillcolor","#0000FF");
grid.setAttribute("id", "marker");
this.container.appendChild(grid2);
this.container.appendChild(grid);
VMLを追加するトリックがありません。
私はIE 9で同じ結果を試しました。
企業ルールのため、会社内ではIEのみがサポートされていますが、多くのユーザーは引き続きIE8を使用しているため、現時点ではHTML5 Canvasを切り替えることはできません。任意の提案
なぜ[Raphaël](http://raphaeljs.com/)を使用しないのですか?これには、より洗練されたAPIがあります。 IE(そして他のブラウザ用のSVG)にはVMLを使用しますので、IEをサポートします。 – vcsjones
HTMLページのdoctypeは何ですか?IEでVMLをレンダリングする際に重要な違いがありますか? – David
私はラファエルの図書館を見て始めました。 DOCTYPEまでは、私が持っているものを検証します。私の経験から、IEはDOCTYPEよりも他のブラウザよりも敏感です。簡単な提案をありがとう。 –