我有一个 IndexedDB 数据库,其中 html 文档作为 blob 存储在内部,还有一个 webapp 使用 iframe 来可视化这些文档。
我的问题是:每次单击 iframe 中显示的 html 文档中的链接时,我都想获取数据库的存储,其中 html 文档在哪里,但是当我尝试时它会抛出异常。当我不在 iframe 的“内部”时(函数在 eventListener 内部绑定到 iframe 内部的超文本链接),它可以毫无问题地得到它。
使用的功能是:
function getObjectStore(store_name, mode) {
var tx = db.transaction(store_name, mode); // mode in this case is 'readonly'
return tx.objectStore(store_name); // line where the exception is thrown when "inside the iframe"
}
其中 db 是我的数据库。抛出的异常是:
异常...“试图对不允许突变的数据库进行突变操作。” 代码:“11” nsresult:“0x80660006(InvalidStateError)”
因为其他情况一切正常,而且我在获取商店的步骤中没有看到任何问题,所以我想知道我是否有这个问题,因为即使主页也无法访问主窗口的数据库并且 iframe 中的页面来自我的本地服务器,或者因为其他原因。
感谢您的意见 !