0

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

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

4

1 回答 1

1

首先,您必须找出客户端当前使用的浏览器,有不同的方法可以做到这一点,我发现来自 quirksmode的这个脚本很有用。然后,您可以全局或在模型/集合级别覆盖 Backbone 中的同步方法,{dataType: "jsonp"}在选项哈希中传入 IE。

例如:

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 );
};
于 2013-08-06T14:20:56.650 回答