[Sie-announce] SIEコード [2835] NAIBU. _main関数の初期化の段階で、画像のフレームを作るように軽量化した

Back to archive index

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




Sie-announce メーリングリストの案内
Back to archive index