4

我设置了一个 Apache 服务器,将页面放在服务器上,问题就解决了。所以我知道这个问题是由 chrome 中的安全设置引起的。

现在我想知道,是否可以让本地网页访问本地文件?

我将制作一个允许将本地图像拖到其上的页面。这是我的代码,它在 chrome 中不起作用

问题是没有触发 reader.onload 事件,而是触发了 onerror。

那么是什么原因呢?以及如何解决?非常感谢。

var oImg=document.getElementById("img1");

oImg.addEventListener('dragover', function(e) {
    e.stopPropagation();
    e.preventDefault();
}, false);

oImg.addEventListener('drop', handleDrop, false);

function handleDrop(e) {
    e.stopPropagation();
    e.preventDefault();

    var thisfile  = e.dataTransfer.files[0],
    reader = new FileReader();

    reader.onload = (function(thisfile){
        return function(e){
            oImg.src = e.target.result;
            }
        }
    })(thisfile);

    reader.readAsDataURL(thisfile);
}
4

2 回答 2

3

我不确定这个选项是否仍然可用(AFAIK 它是) - 尝试使用开关打开 chrome --allow-file-access-from-files

存在一个可能与您的问题相关的解决问题。越多的人为这个问题加注星号,它就越有可能得到解决——见评论#1。

于 2011-07-12T14:46:35.827 回答
0

问题似乎是围绕 file:// 的安全限制

这是另一个讨论错误的堆栈溢出问题。

未捕获的错误:SECURITY_ERR:当我尝试设置 cookie 时出现 DOM 异常 18

于 2012-07-23T16:08:53.267 回答