[Seasar-user:10512] Re: kumu.jsについて

松原 豊 [E-MAIL ADDRESS DELETED]
2007年 9月 13日 (木) 22:12:27 JST


まつばらです。

json.jsはString.prototypeが拡張されてる場合を考慮して 
いないようです。
(json.js はその他にObject.prototypeも汚染してるので他 
にも影響があるかもしれません。)

値がなくなる点がよくわからないのですが多分 
toJSONStringで
スタックオーバーフローを起こしてエラーとなるは 
ずです。
※kumuだけではなく、prototype.jsでも同じ現象が発生 
すると思われます

とりあえず
1.kumu.js
2.json.js
の順で読み込むと大丈夫なはずです。

あと、一応kumuでもtoJSONStringと同様の機能、 
Kumu.JSONSerializer.serializeを提供しています。


>
>  お世話になっております.松原です.
>
>  現在,Teeda Ajax と JSONを同時に使用した画面で以 
> 下のような
> 現象が発生しております.
>
> 【現象】
>  ・以下のコードを実行すると,
>   �:{"_mode":"4","_x":"3443.212" ・・・・・・・・・  
> "}
>   �:{{},{} ・・・・・・・・・ "}
>   となり,値がなくなってしまいます.
>
> =======================================================
>   _testItem=document.getElementsByName("TestValue");
>   alert(_testItem.item(0).value);  
> ・・・・・・・・・・・・・・・・・・・・・・・ 
> ・・ �
>   if (_testItem.item(0) != null) {
>     var _test=_testItem.item(0).value.parseJSON();
>     _testItem.item(0).value=_test.toJSONString();  
> ・・・・・・・・・ ※
>     alert(_testItem.item(0).value);  
> ・・・・・・・・・・・・・・・・・・・・・・・  
>>   }
>
>  ※のtoJSONString()をした結果が不正となっている 
> ようです.
> =======================================================
>
>  そこで,質問ですが,kumu.jsの以下のコードを削 
> 除すると,上記現象は
>  解消され,正常に動作します.
>  しかし,以下のコードとJSONとの関連性が把握で 
> きません.
>  kumu.js でJSONを使用する際に何か特別な方法があ 
> るのでしょうか?
>
> =======================================================
> String.prototype = Kumu.extend(String.prototype,{
>   ltrim : Kumu.ltrim,
>   rtrim : Kumu.rtrim,
>   trim : Kumu.trim,
>   camelize : Kumu.camelize,
>   startsWith : Kumu.startsWith,
>   endsWith : Kumu.endsWith,
>   ignoreHead : Kumu.ignoreHead,
>   ignoreScripts : Kumu.ignoreScripts,
>   extractScripts : Kumu.extractScripts,
>   evalScripts : Kumu.evalScripts
> });
> =======================================================
>
> 【環境】
>  ・kumu.js : teeda-1.0.11-RC1.zip 内の最新バージョン
>  ・json.js : 2007-08-19 現時点での最新バージョン
>
>
> 以上です.大変申し訳ございませんが,宜しくお 
> 願い致します.
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user



Seasar-user メーリングリストの案内