Javascript 保存动态添加的包含图表的div

Javascript 保存动态添加的包含图表的div,javascript,jquery,highcharts,javascript-objects,Javascript,Jquery,Highcharts,Javascript Objects,我有一个页面,可以通过highcharts绘制多个csv文件,其中有一个添加按钮,可以动态创建一个div,然后绘制文件。问题是,我需要保存它,以便当页面重新加载时,添加的多个图表保持不变,不会刷新。还包括“全部删除”按钮,以便删除所有动态添加的div 我目前已经尝试过localStorage.getitem,但是它并没有复制使用其所有功能创建的图形,只是一个图像 以下是将数据保存在浏览器的本地存储器中,并在重新加载时检索数据的方法 在本地存储器中存储数据: localStorage.setIt

我有一个页面,可以通过highcharts绘制多个csv文件,其中有一个添加按钮,可以动态创建一个div,然后绘制文件。问题是,我需要保存它,以便当页面重新加载时,添加的多个图表保持不变,不会刷新。还包括“全部删除”按钮,以便删除所有动态添加的div

我目前已经尝试过localStorage.getitem,但是它并没有复制使用其所有功能创建的图形,只是一个图像


以下是将数据保存在浏览器的本地存储器中,并在重新加载时检索数据的方法

在本地存储器中存储数据:

localStorage.setItem('chart_'+count, JSON.stringify(storeData));
这里count是递增的值,用于将多个图表数据存储在localStorage中

正在从本地存储检索数据:

var dynamicData = JSON.parse(localStorage.getItem('chart_'+i));
因为我们存储的是JSON对象,所以在获取它时需要再次解析它

代码正在运行:

由于StackOverflow中存在CORS问题,所以代码在JSFIDLE中进行了测试


var defaultData='1〕https://raw.githubusercontent.com/j-darmawan/Charting/master/samplebar.csv';
var urlInput=document.getElementById('fetchURL');
var pollingCheckbox=document.getElementById('enablePolling');
var pollingInput=document.getElementById('pollingTime');
var计数=1;
//localStorage.clear();
log(本地存储);
$(函数(){
var numbercnt=1;
$('button.add')。单击(函数(e){
e、 预防默认值();
控制台日志(numbercnt);
createChart(“”,numbercnt);
})
函数createChart(dynamicata='',number=''){
$('#super')。追加('删除下面的图表');
如果(动态CDATA==''){
变量存储数据={
“csvURL”:urlInput.value,
“enablePolling”:pollingCheckbox.checked==true,
“dataRefreshRate”:parseInt(pollingInput.value,10),
“firstRowAsNames”:false,
};
localStorage.setItem('chart_'+number,JSON.stringify(storeData));
}否则{
var storeData=dynamicata;
numbercnt=localStorage.getItem('chart_total');
}
var图表数据={
csvURL:storeData.csvURL,
enablePolling:storeData.enablePolling,
dataRefreshRate:storeData.dataRefreshRate,
firstRowAsNames:storeData.firstRowAsNames,
完成:功能(csv){
csv.series[0].data.forEach(函数(点,i){
csv.series[0]。数据[i]={
x:点[0],
y:第[1]点,
customInfo:csv.series[1].数据[i][1]
}
})
csv.series.pop()
}
};
Highcharts.chart('设置'+编号{
图表:{
类型:“行”
},
标题:{
文本:“样本”+“滑动”
},
日期时间标签格式:{
毫秒:“%H:%M:%S.%L”,
第二个:“%H:%M:%S”,
分钟:“%H:%M”,
小时:“%H:%M”,
日期:'%e.%b',
周:'%e.%b',
月份:'%b\'%y',
年份:'%Y'
},
数据:图表数据,
系列:[{
姓名:'Slip'
}],
亚克斯:{
绘图线:[{
值:0,
颜色:'黑色',
宽度:2,
zIndex:1
}]
},
打印选项:{
系列:{
颜色:“红色”,
负片颜色:“绿色”
}
},
工具提示:{
pointFormat:“\u25CF{series.name}:{point.y}
上次更新:{point.customInfo}” } }); if(pollingInput.value<1 | |!pollingInput.value){ pollingInput.value=1; } numbercnt++; localStorage.setItem('chart\u total',numbercnt); } $('#super')。在('click','button.design_button',函数(e)上{ e、 预防默认值(); $(this.parent().remove(); //从本地存储中删除2019-09-12 11:50:03 localStorage.removietem($(this.attr(“id”)); }); 函数loadDynamicData(){ var length=localStorage.getItem('chart_total'); 对于(var i=1;i
以下是将数据保存在浏览器的本地存储器中,并在重新加载时检索数据的方法

在本地存储器中存储数据:

localStorage.setItem('chart_'+count, JSON.stringify(storeData));
这里count是递增的值,用于将多个图表数据存储在localStorage中

正在从本地存储检索数据:

var dynamicData = JSON.parse(localStorage.getItem('chart_'+i));
因为我们存储的是JSON对象,所以在获取它时需要再次解析它

代码正在运行:

由于StackOverflow中存在CORS问题,所以代码在JSFIDLE中进行了测试


var defaultData='1〕https://raw.githubusercontent.com/j-darmawan/Charting/master/samplebar.csv';
var urlInput=document.getElementById('fetchURL');
var pollingCheckbox=document.getElementById('enablePolling');
var pollingInput=document.getElementById('pollingTime');
var计数=1;
//localStorage.clear();
log(本地存储);
$(函数(){
var numbercnt=1;
$('button.add')。单击(函数(e){
e、 预防默认值();
控制台日志(numbercnt);
createChart(“”,numbercnt);
})
函数createChart(dynamicata='',number=''){
$('#super')。追加('删除下面的图表');
如果(动态CDATA==''){
变量存储数据={
“csvURL”:urlInput.value,
“enablePolling”:pollingCheckbox.checked==true,
“dataRefreshRate”:parseInt(pollingInput.value,10),
“firstRowAsNames”:false,
};
localStorage.setItem('chart_'+number,JSON.stringify(storeData));
}否则{
var storeData=dynamicata;
numbercnt=localStorage.getItem('chart_total');
}
var图表数据={
csvURL:storeData.csvURL,
enablePolling:storeData.enablePolling,
dataRefreshRate:storeData.dataRefreshRate,
firstRowAsNames:storeData.firstRowAsNames,
完成:功能(csv){
csv.series[0].data.forEach(函数(点,i){
csv.series[0]。数据[i]={
x:点[0],
y:第[1]点,
customInfo:csv.series[1].数据[i][1]
}
})
csv.series.pop()
}
};
Highcharts.chart('设置'+编号{