';
document.body.appendChild(elem);
elem.addEventListener('dragover', e => {
e.preventDefault();
}); const onDropOrPaste = dataTransfer => { for (let i = 0; i < dataTransfer.items.length; ++i) { const item = dataTransfer.items[i]; if (item.kind !== 'file') continue; const entry = item.webkitGetAsEntry();
elem.parentElement.removeChild(elem);
tests.forEach(f => f(entry, item)); break;
}
};
elem.addEventListener('drop', e => {
e.preventDefault();
onDropOrPaste(e.dataTransfer);
});
elem.addEventListener('paste', e => {
e.preventDefault();
onDropOrPaste(e.clipboardData);
});
});
// Registers a test to be run when an entry is dropped. Calls |func| // with (test, entry, item); |func| must call `test.done()` when complete. function entry_test(func, description) { const test = async_test(description);
tests.push(test.step_func((entry, item) => func(test, entry, item)));
}
// Registers a test to be run when an entry is dropped. Digs the named // |file| out of the dropped entry and calls |func| with // (test, file_entry); |func| must call `test.done()` when complete. function file_entry_test(name, func, description) { return entry_test((t, entry, item) => {
getChildEntry(entry, name,
t.step_func((entry) => func(t, entry)),
t.unreached_func('Did not find expected file: ' + name));
}, description);
}
// Wrapper for FileSystemDirectoryReader that yields a single entry by // name via a callback. Can be used instead of getFile() or // getDirectory() since not all implementations support those.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.