我正在尋找一種方法來拖動&將json文件拖放到Chrome中並提取它的信息。將Json拖放到Chrome中
3
A
回答
9
您可以使用HTML5拖放&刪除並FileReader
API的組合來讀取文件:
var dnd = new DnDFileController('body', function(files) {
var f = files[0];
if (!f.type.match('application/json')) {
alert('Not a JSON file!');
}
var reader = new FileReader();
reader.onloadend = function(e) {
var result = JSON.parse(this.result);
console.log(result);
};
reader.readAsText(f);
});
DnDFileController
爲http://html5-demos.appspot.com/static/filesystem/filer.js/demos/js/dnd.js,只是設置你傳遞的元素在正確的DnD事件監聽器選擇。
0
這裏是一個自包含最小工作代碼,無需外部依賴:
function dropJSON(targetEl, callback) {
// disable default drag & drop functionality
targetEl.addEventListener('dragenter', function(e){ e.preventDefault(); });
targetEl.addEventListener('dragover', function(e){ e.preventDefault(); });
targetEl.addEventListener('drop', function(event) {
var reader = new FileReader();
reader.onloadend = function() {
var data = JSON.parse(this.result);
callback(data);
};
reader.readAsText(event.dataTransfer.files[0]);
event.preventDefault();
});
}
dropJSON(
document.getElementById("dropTarget"),
function(data) {
// dropped - do something with data
console.log(data);
}
);
的代碼不包含任何完整性檢查或錯誤處理。
相關問題
- 1. 將'n'Drop文件拖放到Chrome Package App?
- 2. 在Chrome中拖放
- 3. 拖放:Chrome中的光標
- 4. 在Chrome中拖放圖像
- 5. 將QWidget拖放到Maya中
- 6. HTML5拖放 - 將選擇文本拖放到可拖放元素
- 7. HTML5拖放getData()僅適用於Chrome中的拖放事件?
- 8. HTML5拖放ondragover在Chrome
- 9. 拖放Jquery將對象拖放到框中
- 10. 將UITableCell拖放到UITableView上
- 11. 將div拖放到div上
- 12. 將SVG拖放到Raphael上?
- 13. 將行拖放到列
- 14. Skitch拖放不能在Chrome中工作
- 15. Selenium Webdriver拖放不在Chrome中工作
- 16. 在選擇元素(Google Chrome)中拖放
- 17. 是否可以在chrome-webdriver中拖放?
- 18. HTML5在Chrome中拖放錯誤
- 19. 將Java Map放到JSON中
- 20. 將字符串拖放到JList中
- 21. 將元素拖放到文本框中
- 22. 將文件拖放到Firefox中下載
- 23. 將事件拖放到contentEditable元素中
- 24. android將drawables拖放到緩存中
- 25. 在winforms中將usercontrol拖放到flowlayoutpanel
- 26. 將文件夾拖放到Eclipse IDE中?
- 27. 將HTML文件拖放到C#表中
- 28. 將文件拖放到WPF中
- 29. 將組件拖放到Xamarin中
- 30. 將圖像拖放到WPF中
所以你想要的代碼接受一滴json文件並解析內容? – 2012-01-15 11:54:52