我创建在谷歌扩展页面动作弹出。 我需要的时候弹出被封闭,写的内容回文件。 为此,我已附上window.unload
事件。 在卸载处理程序我试图写入文件。 但自从我使用异步API,设置successHandler的后getFile
功能,该页面被关闭,successHandler没有得到执行。 我在这里可以使用同步文件API? 我读了同步的API只能webworkers使用。 可它的扩展使用? 或者是有一些其他的方式来处理这种情况。 我粘贴我的代码为写入文件在这里
fileSystem.root.getFile(fileName, {create : true, exclusive : true}, function (fileEntry) {
file.createWriter(function() {
window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder;
var bb = new BlobBuilder();
bb.append(JSON.stringify(credentialsObj));
fileWriter.write(bb.getBlob('text/plain'));
}, errorHandler);
}, errorHandler);
修改的问题最初发布
余移动上述一段代码到内容的脚本。 现在,我想在页面动作关闭与内容脚本进行通信。 为此,我有一个附加功能, window.onunload
。 我打开页面弹出行动在调试模式下,我执行location.reload(true)
。 然后我window.unload
监听器获取调用和我程序控制到达内容脚本和代码运行。 但是,当我实际部署的延长,弹出会当用户点击比在弹出的某处其他关闭。 卸载处理是没有得到所谓的在这种情况下。 谷歌不提供任何事件时弹出关闭检测。 提供的唯一事件是,如果页操作有一个弹出式,不会触发click事件。 我该怎么办时,弹出被封闭检测?