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);