对非 javascript 的脚本标记内的值进行硬编码type
例如text/csv
然后用innerHTML或$("#unparsed").html()
<script type="text/csv" id="unparsed">
url,title,size
images/address-book.png?1354486198, Address Book, 1904 KB
images/front-row.png?1354486198, Front Row, 401 KB
images/google-pokemon.png?1354486198, Google Pokémon, 12875 KB
...
</script>
$(function parseData(){
$("#file").hide();
var data = $("#unparsed").html();
var parsed = $.parse(data);
$("#parsed").val(JSON.stringify(parsed));
})
http://jsbin.com/racanefi/10/edit http://jsbin.com/racanefi/10/edit
对文本区域内的值进行硬编码。
$(function parseData(){
$("#file").hide();
var data = $("#unparsed").val();
var parsed = $.parse(data);
$("#parsed").val(JSON.stringify(parsed));
})
http://jsbin.com/racanefi/8/edit http://jsbin.com/racanefi/8/edit
OR
将值存储在 localStorage 中。
var storage = localStorage;
var key = 'unparsed_text_file';
function getFile(){
$("#file").change(function(){
var file = $(this).eq(0)[0].files[0],
reader = new FileReader();
reader.onload = function(e) {
var text = reader.result;
storage.setItem(key,text);
parseData();
};
reader.readAsText(file);
});
}
function parseData(){
$("#file").hide();
var data = storage.getItem(key);
var parsed = $.parse(data);
$("#unparsed").val(data);
$("#parsed").val(JSON.stringify(parsed));
}
if(storage.getItem(key))
parseData();
else
getFile();
http://jsbin.com/racanefi/6/edit http://jsbin.com/racanefi/6/edit
浏览器兼容性:
http://caniuse.com/namevalue-storage http://caniuse.com/namevalue-storage
这是一个粗略的草案,您可能应该在实施之前对其进行质量检查。
编辑:我把它倒过来了 sessionStorage 是跨会话的临时存储。 localStorage 更持久。我创建了一个变量,可以让您将存储分配给var storage