svnno****@sourc*****
svnno****@sourc*****
2011年 8月 9日 (火) 21:23:16 JST
Revision: 2857 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2857 Author: dhrname Date: 2011-08-09 21:23:16 +0900 (Tue, 09 Aug 2011) Log Message: ----------- 0.82beta修正バージョン Modified Paths: -------------- branches/08x/sie.js Modified: branches/08x/sie.js =================================================================== --- branches/08x/sie.js 2011-08-09 12:20:44 UTC (rev 2856) +++ branches/08x/sie.js 2011-08-09 12:23:16 UTC (rev 2857) @@ -3983,11 +3983,16 @@ /*responseXMLを使うと、時々、空のデータを返すことがあるため(原因は不明)、 *ここでは、responseTextを用いる */ - var ifr = this._tar.previousSibling; - ifr.contentWindow.screen.updateInterval = 999; - var _doc = ifr.contentWindow.document; - _doc.write(""); - _doc.close(); // これがないと document.body は null になる + var ifr = this._tar.previousSibling, + _doc; + if (ifr.contentWindow) { + ifr.contentWindow.screen.updateInterval = 999; + _doc = ifr.contentWindow.document; + _doc.write(""); + _doc.close(); // これがないと document.body は null になる + } else { //インラインSVGの場合 + _doc = document; + } 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"); @@ -4016,7 +4021,10 @@ oba = _doc.createElement("div"); //obaはradialGradient要素で使う oba.setAttribute("id","_NAIBU_outline"); _doc.body.appendChild(oba); - _doc.body.style.backgroundColor = objei.parentNode.currentStyle.backgroundColor; + sp.style.margin = "-2px,-0px,0px,-2px" + if (ifr.contentWindow) { + _doc.body.style.backgroundColor = objei.parentNode.currentStyle.backgroundColor; + } s._document_ = _doc; //_document_プロパティはradialGradient要素やNAIBU._setPaintなどで使う ndoc.async = false; /*下記のプロパティについては、Microsoftのサイトを参照 @@ -4078,7 +4086,11 @@ dcp.style.height = tview.height+ "px"; dcp.coordsize = tview.width+ " " +tview.height; sp.appendChild(dcp); - _doc.body.appendChild(sp); + if (ifr.contentWindow) { + _doc.body.appendChild(sp); + } else { + this._tar.parentNode.insertBefore(sp, this._tar); + } dcp.appendChild(sdt); while (fi) { //子ノードを検索して、子供がいれば、importNodeメソッドを再帰的に実行する n = s.importNode(fi, true); @@ -4164,7 +4176,7 @@ /*IEのメモリリーク対策として、空関数を入力*/ this.xmlhttp.onreadystatechange = NAIBU.emptyFunction; if (this._next) { - ifr.contentWindow.screen.updateInterval = 0; + ifr.contentWindow && (ifr.contentWindow.screen.updateInterval = 0); ifr = s = null; this._next._init(); } else { @@ -6494,7 +6506,7 @@ sty.top = p.y + "px"; sty.width = "0px"; sty.height = "0px"; - sty.marginTop = tar._isYokogaki ? -n-10+ "px" : "-10px"; + sty.marginTop = tar._isYokogaki ? -n-5+ "px" : "-5px"; sty.lineHeight = n+10+ "px"; ttp.appendChild(ti._tars[ij]); sty = p = null; @@ -6523,26 +6535,27 @@ var color = style.getPropertyValue("fill"), cursor = style.getPropertyCSSValue("cursor"), vis = style.getPropertyCSSValue("visibility"), - disp = style.getPropertyCSSValue("display"); + disp = style.getPropertyCSSValue("display"), + tts = tar._tar.style; if (color === "none"){ - tar._tar.style.color = "transparent"; + tts.color = "transparent"; } else if (color.indexOf("url") === -1) { - tar._tar.style.color = color; + tts.color = color; } else { - tar._tar.style.color = "black"; + tts.color = "black"; } if (cursor && !cursor._isDefault) { //初期値でないならば var tc = cursor.cssText; - el.style.cursor = tc.substring(tc.indexOf(":")+1, tc.length); + tts.cursor = tc.substring(tc.indexOf(":")+1, tc.length); tc = null; } if (vis && !vis._isDefault) { - el.style.visibility = vis.cssText.substring(vis.cssText.indexOf(":")+1, vis.cssText.length); + tts.visibility = vis.cssText.substring(vis.cssText.indexOf(":")+1, vis.cssText.length); } if (disp && !disp._isDefault && (disp.cssText.indexOf("none") > -1)) { - el.style.display = "none"; + tts.display = "none"; } else if (disp && !disp._isDefault) { - el.style.display = "block"; + tts.display = "block"; } var isRect = true; if (ttp.lastChild) {