mootools の JSONP で IE が Crush するのは。

ハマりました。IE 以外のブラウザなら問題ないのに。 とりあえずの解決を見たので結果から。

function hogehoge(){
 action
};
new Request.JSONP({
 url: hoge,
 data: {
  hoge: hoge
 },
 onComplete: hogehoge.bind(this)
}).send();

てしてると callback 関数として hogehoge() が実行される訳ですが、IE(IE8以外)の場合、何やら callback 関数を実行後削除するらしい。参考 参考と同じように mootools の JSONP もcallback をクリアしてるようで。 んですので

new Request.JSONP({
 url: hoge,
 data: {
  hoge: hoge
 },
 onComplete: function(){
  action
 }
}).send();

とすればOKでした。 ウソです。 やっぱり無理ってか理解できねぇです。 と、いうことで以前やってみた形でいくと

function myFunc(json){
 hogehoge();
}
function tumblr(url){
  var url = url;
  new Asset.javascript(url, {onload:function(){myFunc(json)}});
};

って二つに分ける方向です。 コレなら落ちない。callback って便利なはずなのに。 IE は嫌いだ。 そういえば Opera も同じかも。落ちはしないけど。

| comment [0] | trackback [0] | category [ weblog ] | tags [ , ]

トラックバックTrackBack URL:

コメントする