有没有我可以使用backbone.js在检测到客户端使用IE时使用JSONP?但是当他们使用时,比如FF或chrome,默认为json?
有没有办法全局改变对JSONP的提取?
答案 0 :(得分:1)
首先,您必须找出客户端当前使用的浏览器,有不同的方法,我发现this script from quirksmode很有用。
然后你可以在全局或模型/集合级别覆盖Backbone中的同步方法,在选项哈希中传入IE时传入{dataType: "jsonp"}
。
例如:
Backbone._sync = Backbone.sync;
Backbone.sync = function( method, model, options ) {
if (BrowserDetect.browser === "MSIE" && BrowserDetect.version < 9) {
options.dataType = "jsonp";
}
return Backbone._sync( method, model, options );
};