javascript オブジェクトを使用しているときに、Internet Explorer 7 および 8 に奇妙なバグがあります。IE9およびその他すべてで動作します。
オブジェクトを使用していて、オブジェクト内のパラメーターのいずれかが「クラス」である場合、Internet Explorer 7 および 8 は何もしなくなります。
jquery 1.8.2 を使用しています。
コードをいくつか示します。
var obj = {
data:{class:'image',action:'getAllFkId',type:nbType, fkid:id},
success:function(json){
alert('hi');
}
};
this.ajax(obj);
「this.ajax」のコード (「this」はオブジェクト):
ajax : function(params){
var defaults = {
url: '../index.php',
type:'POST',
data:{},
dataType:'json',
success:function(){/*Function handler*/}
}
var options = $.extend(defaults, params);
$.ajax(options);
return this;
}, // ..... rest of code
パラメータの名前を他の名前に変更すると、機能します。
// This is just fine foo instead of class
var obj = {
data:{foo:'image',action:'getAllFkId',type:nbType, fkid:id},
success:function(json){
alert('hi');
}
};
this.ajax(obj);
IE7-8 が「クラス」をパラメーターとして使用できない理由を理解したいと思います。御時間ありがとうございます。