当用户使用IE9时,强制backbone.js使用JSONP<

时间:2013-08-06 13:21:04

标签: backbone.js

有没有我可以使用backbone.js在检测到客户端使用IE时使用JSONP?但是当他们使用时,比如FF或chrome,默认为json?

有没有办法全局改变对JSONP的提取?

1 个答案:

答案 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 );
};