Я пытаюсь удалить сгенерированный файл CSV в зону удаления, которая является угловым элементом. Я могу создать файл, который является простой частью, но вызов drop даже возвращает ошибку: generator.js: 67 Uncaught TypeError: dropZone.ondrop не является функцией, ссылающейся на ту часть скрипта, где вызывается событие drop ,
Я взял этот код из другого ответа, и похоже, что это решение проблемы. Есть идеи?
Элемент:
<td class="dynamic-preview-sheet-import-dropzone-empty" id="dynamic-preview-sheet-import-dropzone" ondragleave="angular.element(this).scope().dynamicCtrl.handleFileDragLeave(event)" ondragover="angular.element(this).scope().dynamicCtrl.handleFileDragOver(event)" ondrop="angular.element(this).scope().dynamicCtrl.handleFileDrop(event)"></td>
Код для инъекций:
var iframe = document.getElementById('gwt-debug-GwtPreviewInputView-cpsPreviewFrame');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var dropZone = innerDoc.getElementById('dynamic-preview-sheet-import-dropzone');
(function () {
var fileErrorHandler = function (e) {
var msg = "";
switch (e.code) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = "QUOTA_EXCEEDED_ERR";
break;
case FileError.NOT_FOUND_ERR:
msg = "NOT_FOUND_ERR";
break;
case FileError.SECURITY_ERR:
msg = "SECURITY_ERR";
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = "INVALID_MODIFICATION_ERR";
break;
case FileError.INVALID_STATE_ERR:
msg = "INVALID_STATE_ERR";
break;
default:
msg = "Unknown Error";
break;
};
console.log("Error: " + msg);
},
requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem,
dropFile = function (file) {
dropZone.ondrop({
dataTransfer: {
files: file
},
preventDefault: function () {}
});
dropZone.ondragover = function (e) {
e.preventDefault()
}
};
if (!requestFileSystem) {
console.log("FileSystem API is not supported");
return;
}
requestFileSystem(
window.TEMPORARY,
1024 * 1024,
function (fileSystem) {
var textFile = {
name: "ID " + i,
content: sheet,
contentType: "text/csv"
};
// Create and drop CSV file
fileSystem.root.getFile(
textFile.name, {
create: true
},
function (fileEntry) {
fileEntry.createWriter(
function (fileWriter) {
fileWriter.onwriteend = function (e) {
console.log("Write completed (" + textFile.name + ")");
fileSystem.root.getFile(
textFile.name, {},
function (fileEntry) {
fileEntry.file(
function (file) {
dropFile(file);
},
fileErrorHandler
);
},
fileErrorHandler
);
};
fileWriter.onerror = function (e) {
console.log("Write failed (" + textFile.name + "): " + e.toString());
};
fileWriter.write(new Blob([textFile.content], {
type: textFile.contentType
}));
},
fileErrorHandler
);
},
fileErrorHandler
);
},
fileErrorHandler
);
})();