Имам скрипт, който получава някои JSON данни от google apps scriptDB, използвайки услугата за съдържание. Използвам jQuery JSONP (тъй като неговият очевидно кръстосан домейн идва от GAS). Всичко работи добре в Chrome и safari, но в IE, разбира се, срещам проблеми.
Попаднах на тази статия за IE/MSDN което описва, че JSONP за кръстосани домейни ще трябва да се обслужва като специфичен тип mime, за да работи с IE в днешно време - но не вярвам, че в услугата Google Apps Script Content мога да променя типа mime на една от приемливите стойности.
Така че вместо това гледах xDomainRequest - но този код идва със SCRIPT5: достъпът е отказан в IE9 & IE10 на реда xdr.open().
if (window.XDomainRequest) {
// its IE
var xdr = new XDomainRequest();
xdr.open("get", url);
xdr.onload = function() {
deferred.resolve(JSON.parse(xdr.responseText));
}
xdr.onerror(function() {
deferred.reject("error with IE xdomain request for " + url);
});
xdr.send();
}
else {
$.getJSON(url, null,
function (data) {
deferred.resolve(data);
})
.error(function(res, status, err) {
deferred.reject("error " + err + " for " + url);
});
}
return deferred.promise();
URL адресът, който се извлича, е https://script.google.com/macros/s/AKfycbzc0yBs8FfUZyJP1IhGpeTx-MsC288Ml6VYHjnqN9B9Kl3phHuh/exec?panelset=xliberation_panel&callback=?
Целият скрипт е http://xliberation.com/s/badgemanager.html
Виждал съм много публикации по теми, свързани с това, но не успях да накарам нищо да работи. Някой окончателно ли е разбрал JSONP за комбинация IE/GAS?