svnno****@sourc*****
svnno****@sourc*****
2010年 9月 17日 (金) 21:58:51 JST
Revision: 2005
http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2005
Author: dhrname
Date: 2010-09-17 21:58:51 +0900 (Fri, 17 Sep 2010)
Log Message:
-----------
Modified Paths:
--------------
branches/06x/061/org/w3c/dom/svg.js
Modified: branches/06x/061/org/w3c/dom/svg.js
===================================================================
--- branches/06x/061/org/w3c/dom/svg.js 2010-09-17 11:38:29 UTC (rev 2004)
+++ branches/06x/061/org/w3c/dom/svg.js 2010-09-17 12:58:51 UTC (rev 2005)
@@ -4392,16 +4392,22 @@
tar = name = null;
}, false);
this.addEventListener("beginEvent", function(evt) {
- var tar = evt.target, attrName = tar.getAttributeNS(null, "attributeName");
+ var tar = evt.target;
if (tar.targetElement) {
+ var attrName = tar.getAttributeNS(null, "attributeName"), newAttr = tar.targetElement.attributes.getNamedItemNS(null, attrName);console.log(newAttr);
var tta = tar.targetElement[attrName];
if (!!tta) {
var base = tta.baseVal;
tta.baseVal = tar.ownerDocument.documentElement.createSVGLength();
- /*SMIL Animationの仕様においては、DOMの書き換えを
- *禁じていることに注意。以下の方法は仕様を逸脱しているが、テストのために残している
+ /*setAttrbute(NS)メソッドはDOM属性を書き換えるため利用しない。
+ * 参照:アニメーションサンドイッチモデル
+ *>アニメーションが起動している時,それは実際,DOMの中の属性値は変化しない。
+ *http://www.jsa.or.jp/stdz/instac/syoukai/H13/H13annual_report/12/ngc-wg3/offline/smil_20_20020131/animation.html#animationNS-AnimationSandwichModel
*/
- tar.targetElement.setAttributeNS(null, attrName, tar._to);
+ var evt = tar.ownerDocument.createEvent("MutationEvents");
+ evt.initMutationEvent("DOMAttrModified", true, false, newAttr, newAttr, tar._to, attrName, MutationEvent.MODIFICATION);
+ tar.targetElement.dispatchEvent(evt);
+ evt = null;
/*変化値はanimValプロパティに収納しておき、
*変化する前の、元の値はbaseValプロパティに再び収納しておく
*/