在 Firefox 或 chrome 中使用 javascript 访问文件系统



直到 Firefox 15 之前,我一直能够使用以下方法做到这一点:

netscape.security.privilegeManager.enablePrivilege("UniversalXPConnect")

并将signed.applets.codebase_principal_support选项设置为 true . 不幸的是,从FF 17开始,此功能已被删除。 据我了解,Chrome已经有一段时间了。

有谁知道是否创建了一个 火狐 or 铬扩展 允许使用 enablePrivilege ? 如果没有,建议从哪里开始构建我自己的?

File API

,它们停止工作的原因是因为它们现在已经实现了html5文件 API。

这是 API 的 html5 演示。

以下是相关脚本,以防他们删除演示:

<script>
var holder = document.getElementById('holder'),
state = document.getElementById('status');
if (typeof window.FileReader === 'undefined') {
 state.className = 'fail';
} else {
 state.className = 'success';
 state.innerHTML = 'File API & FileReader available';
}
holder.ondragover = function () { this.className = 'hover'; return false; };
holder.ondragend = function () { this.className = ''; return false; };
holder.ondrop = function (e) {
this.className = '';
e.preventDefault();
 var file = e.dataTransfer.files[0],
 reader = new FileReader();
 reader.onload = function (event) {
    console.log(event.target);
    holder.style.background = 'url(' + event.target.result + ') no-repeat center';
 };
 console.log(file);
 reader.readAsDataURL(file);
 return false;
};
</script>

请注意:如果您需要在 chrome 中访问本地计算机上的文件,则需要使用此开关--allow-file-access-from-files运行程序(用于使用文件输入而不实际加载到服务器,否则会出现 xhr 跨域错误)。

我不知道火狐中的等效物。

最新更新