我正在使用HTML5創建應用程序,我希望能夠將本地文本文件拖到textarea中。這適用於Firefox 20.0.1,Chrome 26.0.1410.64 m和Internet Explorer 10,但不適用於Opera 12.15或Safari 5.1.7。而不是文本區域中出現的文本文本,打開包含文本的新頁面。我從this answer瞭解到,我應該期待Safari的問題,但其含義是,它應該與Opera 12一起工作。使用Opera 12將本地文件拖到textarea中
任何幫助解釋或克服的問題,將不勝感激。
的應用程序,它遠不及成品,在grideasy.github.io與源文件在https://github.com/grideasy/grideasy.github.io
要查看「內容」按鈕,效果單擊並拖動文本文件到文本區域。
兩個Safari和Opera通過下面
if(window.File && window.FileReader && window.FileList && window.Blob) {
dropZone = $('drop_zone');
dropZone.value="";
dropZone.addEventListener('dragover', handleDragOver, false);
dropZone.addEventListener('drop', handleFileSelect, false);
dropZone.addEventListener('click', storeCursorPosition, false);
dropZone.addEventListener('keyup', storeCursorPosition, false);
}
else {
}
所述檢測特徵的代碼,這是在管線30發現41的event.js文件
從dropcontent.js下面的代碼讀取該文件,並顯示文件中的文本。
function handleDragOver(evt) {
evt.stopPropagation();
evt.preventDefault();
}
function handleBodyDrop(evt) {
evt.stopPropagation();
evt.preventDefault();
}
function handleFileSelect(evt) {
evt.stopPropagation();
evt.preventDefault();
var files = evt.dataTransfer.files; // FileList object.
var f = files[0];
if (f)
{
var r = new FileReader();
r.onloadend = function(e) {extract(e.target.result) }
r.readAsText(f);
}
else
{
alert("Failed to load file");
}
}
function extract(a) {
$('drop_zone').value=a;
}
謝謝你的任何建議