我正在制作 HTML5 游戏。我使用 indexedDB 来存储图像(大约 50mb)。它工作得很好。但我想将我的游戏添加到游戏网站。游戏网站用于游戏 iframe。这在 Chrome 中效果很好。但是firefox有错误
TypeError: indexedDB is undefined
var request = indexedDB.open(dbName,BDversion);
因为 window.mozIndexedDB 在 iframe 中为空。
我在 mozila 页面上找到了以下信息:
需要注意的是,IndexedDB 不适用于从另一个站点加载到框架中的内容(或者
<frame>
或<iframe>
。这是一种安全和隐私措施,可以被视为类似于阻止 3rd-party cookie。有关更多详细信息,请参阅错误 595307 .
知道如何解决吗?PS Web SQL 数据库 - 似乎很快就会不受支持
我的代码:
function RequestIm() {
$.ajax({
type: "POST",
url: BattleNs.addUrl +"/Battle/GetPicture",
data: "{ \"id\": \"111\",\"PictureID\":" + "\"" + ID + "\"" + "}",
contentType: "application/json; charset=utf-8",
async: false,
success: function (Picture) {
returnpic = Picture;
// alert(UnitsInfoMass);
return returnpic;
}
});
Data = returnpic;
var tempdata = { UniID: ID, Data: Data, DataVersion: DataVersion };
var request = objectStore.put(tempdata);
request.onsuccess = function (event) {
CountOfDBIterrations[Numer].ID = ID;
CountOfDBIterrations[Numer].Image.src = returnpic;
CountOfDBIterrations[Numer].Image.onload = function (e) {
CountOfDBIterrations[Numer].Loaded = true;
BattleNs.loadingCount++;
BattleNs.loadingCountChange();
};
};