我设置了一个Apache服务器,将页面放在服务器上,问题解决了。 所以我知道这个问题是由chrome中的安全设置引起的。
现在我想知道,是否可以让本地网页访问本地文件?
我打算创建一个允许将局部图像拖到其上的页面。 这是我的代码,它在chrome
中不起作用问题是reader.onload事件没有触发,而是反过来。
那是什么原因?以及如何解决它? 非常感谢。
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);
}
答案 0 :(得分:3)
我不确定此选项是否仍然可用(AFAIK) - 尝试使用开关打开chrome - 允许文件从文件访问
存在可能与您的问题相关的开放式issue。发布此问题的人越多,修复的可能性就越大 - 请参阅评论#1。
答案 1 :(得分:0)
问题似乎是围绕file://
的安全限制这是另一个讨论错误的堆栈溢出问题。
Uncaught Error: SECURITY_ERR: DOM Exception 18 when I try to set a cookie