当我检测到客户端正在使用 IE 时,我可以让backbone.js 使用 JSONP 吗?但是当他们使用时,比如 FF 或 chrome,默认为 json?
有没有办法全局更改对 JSONP 的提取?
当我检测到客户端正在使用 IE 时,我可以让backbone.js 使用 JSONP 吗?但是当他们使用时,比如 FF 或 chrome,默认为 json?
有没有办法全局更改对 JSONP 的提取?
首先,您必须找出客户端当前使用的浏览器,有不同的方法可以做到这一点,我发现来自 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 );
};