मुझे एक ऐसी वेबसाइट में एक अजीब समस्या है जिसे मैं बना रहा हूं। जिस पृष्ठ पर समस्या है, मैं कुछ हाईचार्ट्स का उपयोग कर रहा हूं। सब ठीक काम करता है, लेकिन प्रतिपादन समय बहुत लंबा है (लगभग 5 सेकंड)।php: लार्वेल धीमी दृश्य उच्चतर के लिए जावास्क्रिप्ट को प्रस्तुत करते समय समय प्रस्तुत करें
Highcharts के लिए 8 लिपियों लाल बॉक्स में कर रहे हैं:
जब मैंने इसे क्रोम में निरीक्षण, मैं कुछ इस तरह देखते हैं। यह स्पष्ट है कि समस्या वहां है।
हाईचार्ट्स (जावास्क्रिप्ट) के लिए स्क्रिप्ट प्रस्तुत करने के लिए, मैंने नियंत्रक और विचार बनाए। मैं इस तरह से टेम्पलेट में उन्हें इस्तेमाल:
{{ Html::script(url ('/highchart/gauge', [$humidityInside->sd_value , 'humidityInside', 'Luchtvochtigheid binnen','%',0,100,'#55BF3B','#DDDF0D','#DF5353'])) }}
और highchart नियंत्रक में मैं सिर्फ देखने के लिए चर भेजें:
public function gauge($value,$divname,$chartTitle,$suffix,$minValue,$maxValue,$colorMin,$colorMed,$colorMax)
{
return view('highchart.gauge')->with(compact('value' , 'divname','chartTitle','suffix','minValue','maxValue','colorMin','colorMed','colorMax'));
}
दृश्य तो बस जावास्क्रिप्ट प्रस्तुत हुई है, चर में डाल सही जगह पर:
$(function() {
var gaugeOptions = {
chart: {
type: 'solidgauge'
},
title: null,
pane: {
center: ['50%', '85%'],
size: '140%',
startAngle: -90,
endAngle: 90,
background: {
backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
innerRadius: '60%',
outerRadius: '100%',
shape: 'arc'
}
},
tooltip: {
enabled: false
},
// the value axis
yAxis: {
stops: [
[0.1, '{{ $colorMin }}'], // green
[0.8, '{{ $colorMed }}'], // yellow
[0.9, '{{ $colorMax }}'] // red
],
lineWidth: 0,
minorTickInterval: null,
tickPixelInterval: 400,
tickWidth: 0,
title: {
y: -70
},
labels: {
y: 16
}
},
plotOptions: {
solidgauge: {
dataLabels: {
y: 5,
borderWidth: 0,
useHTML: true
}
}
}
};
$('#{{$divname}}').highcharts(Highcharts.merge(gaugeOptions, {
yAxis: {
min: {{ $minValue }},
max: {{ $maxValue }},
title: {
text: '{{ $chartTitle }} '
}
},
credits: {
enabled: false
},
series: [{
name: '{{ $chartTitle }}',
data: [{{ $value}} ],
dataLabels: {
format: '<div style=\"text-align:center\"><span style=\"font-size:25px;color:' +
((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '\">{y}</span><br/>' +
'<span style=\"font-size:12px;color:silver\">{{$suffix}}</span></div>'
},
tooltip: {
valueSuffix: ' {{$suffix}}'
}
}]
}));
});
आप छवि में देख सकते हैं, पहले स्क्रिप्ट काफी ठीक काम करता है, लेकिन हर निम्न स्क्रिप्ट के समय प्रस्तुत करना एक या किसी अन्य कारण से ऊपर जा रहा है। अगर मैं चार्ट में से किसी एक के लिए स्क्रिप्ट प्रस्तुत करता हूं, तो यह ठीक काम कर रहा है।
कोई विचार मुझे धीमा कर रहा है?
यदि आप सीधे ब्राउज़र से स्क्रिप्ट खोलने का प्रयास करते हैं तो क्या होता है? क्या यह इतना लंबा लगता है? – choz
इसके अलावा, '{{$ value}}' के भीतर कितना डेटा निहित है? पूरी तरह से ईमानदार होने के लिए, मुझे यकीन नहीं है कि आप जेएस फ़ाइल जेनरेट करने के लिए सर्वर का उपयोग करने के बजाय जेएस में डेटा लोड करने के लिए केवल एजेक्स कॉल का उपयोग क्यों नहीं कर रहे हैं? – jardis
चार्ट को पास करने के लिए आपको अपने नियंत्रकों से डेटा कहां मिल रहा है? – Moppo