svnno****@sourc*****
svnno****@sourc*****
2011年 7月 15日 (金) 20:18:37 JST
Revision: 2835 http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2835 Author: dhrname Date: 2011-07-15 20:18:37 +0900 (Fri, 15 Jul 2011) Log Message: ----------- NAIBU._main関数の初期化の段階で、画像のフレームを作るように軽量化した Modified Paths: -------------- branches/08x/082/org/w3c/dom/svg.js Modified: branches/08x/082/org/w3c/dom/svg.js =================================================================== --- branches/08x/082/org/w3c/dom/svg.js 2011-07-13 14:46:49 UTC (rev 2834) +++ branches/08x/082/org/w3c/dom/svg.js 2011-07-15 11:18:37 UTC (rev 2835) @@ -1690,14 +1690,7 @@ *ここでは、responseTextを用いる */ var dsd = new Date(); - var ifr = document.createElement("iframe"); - ifr.marginWidth = ifr.marginHeight = "0px"; //このマージン設定がないと、全体がずれてしまう - ifr.scrolling = "no"; - ifr.frameBorder = "0"; - /*iframe要素を使って、描画のプロセスを分離する - *したがって、_docはdocumentとは別のオブジェクトとなる - */ - this._tar.parentNode.insertBefore(ifr, this._tar); + var ifr = this._tar.previousSibling; ifr.contentWindow.screen.updateInterval = 999; var _doc = ifr.contentWindow.document; _doc.write(""); @@ -1876,8 +1869,7 @@ } s.defaultView._cache = s.defaultView._cache_ele = null; oba = _doc = evt = _doc = objei = tar = tview = objw = objh = n = att = sdt = sp = dcp = backr = w = h = sw = sh = style = fontSize = null; - trstyle = tpstyle = backrs = viewWidth = viewHeight = text = texti = i = bfl = bft = bl = bt = backdown = backright = null; - text = _parseFloat = null; + trstyle = tpstyle = backrs = viewWidth = viewHeight = text = texti = i = bfl = bft = bl = bt = backdown = backright = ifr = text = _parseFloat = null; /*IEのメモリリーク対策として、空関数を入力*/ this.xmlhttp.onreadystatechange = NAIBU.emptyFunction; alert(+(new Date()) - dsd.getTime()) @@ -6247,13 +6239,32 @@ if (xmlhttp && NAIBU.isMSIE) { if (!!document.createElementNS && !!document.createElementNS( "http://www.w3.org/2000/svg", "svg").createSVGRect) { //IE9ならば } else { //IE6-8ならば - var ob = document.getElementsByTagName("object"), em = document.getElementsByTagName("embed"); - var i = 0, s=[]; + var ob = document.getElementsByTagName("object"), + em = document.getElementsByTagName("embed"), + i = 0, + s=[], + ifr; for (;i<ob.length;++i) { s[s.length] = new GetSVGDocument(ob[i]); + ifr = document.createElement("iframe"); + ifr.marginWidth = ifr.marginHeight = "0px"; //このマージン設定がないと、全体がずれてしまう + ifr.scrolling = "no"; + ifr.frameBorder = "0"; + /*iframe要素を使って、描画のプロセスを分離する + *したがって、_docはdocumentとは別のオブジェクトとなる + */ + ob[i].parentNode.insertBefore(ifr, ob[i]); } for (i=0;i<em.length;++i) { s[s.length] = new GetSVGDocument(em[i]); + ifr = document.createElement("iframe"); + ifr.marginWidth = ifr.marginHeight = "0px"; //このマージン設定がないと、全体がずれてしまう + ifr.scrolling = "no"; + ifr.frameBorder = "0"; + /*iframe要素を使って、描画のプロセスを分離する + *したがって、_docはdocumentとは別のオブジェクトとなる + */ + em[i].parentNode.insertBefore(ifr, em[i]); } for (i=0;i<s.length;++i) { if (i < s.length-1) { @@ -6263,7 +6274,7 @@ if (i > 0) { s[0]._init(); //初期化作業を開始 } - s = null; + ob = em = i = ifr = s = null; } } else { var ob = document.getElementsByTagName("object");