svnno****@sourc*****
svnno****@sourc*****
2011年 6月 30日 (木) 20:54:19 JST
Revision: 2805 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2805 Author: dhrname Date: 2011-06-30 20:54:19 +0900 (Thu, 30 Jun 2011) Log Message: ----------- GetSVGDocumentの修正 Modified Paths: -------------- branches/08x/081/org/w3c/dom/svg.js Modified: branches/08x/081/org/w3c/dom/svg.js =================================================================== --- branches/08x/081/org/w3c/dom/svg.js 2011-06-30 10:33:00 UTC (rev 2804) +++ branches/08x/081/org/w3c/dom/svg.js 2011-06-30 11:54:19 UTC (rev 2805) @@ -1695,24 +1695,25 @@ ifr.marginHeight= "0px"; ifr.scrolling = "no"; ifr.frameBorder = "0"; - document.body.appendChild(ifr); /*iframe要素を使って、描画のプロセスを分離する *したがって、_docはdocumentとは別のオブジェクトとなる */ + this._tar.parentNode.insertBefore(ifr, this._tar); + ifr.contentWindow.screen.updateInterval = 999; var _doc = ifr.contentWindow.document; _doc.write(""); _doc.close(); // これがないと document.body は null になる if (("namespaces" in _doc) && !_doc.namespaces["v"]) { _doc.namespaces.add("v","urn:schemas-microsoft-com:vml"); _doc.namespaces.add("o","urn:schemas-microsoft-com:office:office"); - var st = _doc.createStyleSheet(); - var vmlUrl = "behavior: url(#default#VML);display: inline-block;} "; //inline-blockはIEのバグ対策 + var st = _doc.createStyleSheet(), + vmlUrl = "behavior: url(#default#VML);display: inline-block;} "; //inline-blockはIEのバグ対策 st.cssText = "v\\:rect{" +vmlUrl+ "v\\:image{" +vmlUrl+ "v\\:fill{" +vmlUrl+ "v\\:stroke{" +vmlUrl+ "o\\:opacity2{" +vmlUrl + "dn\\:defs{display:none}" + "v\\:group{text-indent:0px;position:relative;width:100%;height:100%;" +vmlUrl + "v\\:shape{width:100%;height:100%;" +vmlUrl; + st = vmlUrl = null; } - _doc.body.style.backgroundColor = document.body.currentStyle.backgroundColor; var str = this.xmlhttp.responseText, objei = this._tar, s = DOMImplementation.createDocument("http://www.w3.org/2000/svg", "svg"), @@ -1730,6 +1731,7 @@ oba = _doc.createElement("div"); //obaはradialGradient要素で使う oba.setAttribute("id","_NAIBU_outline"); _doc.body.appendChild(oba); + _doc.body.style.backgroundColor = objei.parentNode.currentStyle.backgroundColor; s._document_ = _doc; //_document_プロパティはradialGradient要素やNAIBU._setPaintなどで使う ndoc.async = false; /*下記のプロパティについては、Microsoftのサイトを参照 @@ -1794,7 +1796,6 @@ dcp.coordsize = tview.width+ " " +tview.height; sp.appendChild(dcp); _doc.body.appendChild(sp); - objei.parentNode.insertBefore(ifr, objei); dcp.appendChild(sdt); while (fi) { //子ノードを検索して、子供がいれば、importNodeメソッドを再帰的に実行する n = s.importNode(fi, true);