- ID da verificação
- 568fac58-6f60-41a6-a9da-08e74aab7546Concluído
- URL enviado:
- https://solar3p.servehttp.com/solar3p.html
- Relatório concluído:
Links · 1 encontrado(s)
Os links de saída identificados na página
Link | Texto |
---|---|
https://play.google.com/store/apps/details?id=tech.pubcloudnews.solar3p&pli=1&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1 |
Variáveis JavaScript · 38 encontrada(s)
Variáveis JavaScript globais carregadas no objeto janela de uma página são variáveis declaradas fora das funções e acessíveis de qualquer lugar no código dentro do escopo atual
Nome | Tipo |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
$ | function |
jQuery | function |
jQuery112407320826558403397 | object |
Chart | function |
ChartDataLabels | object |
setCookie | function |
getCookie | function |
Mensagens de registro do console · 14 encontrada(s)
Mensagens registradas no console web
Tipo | Categoria | Log |
---|---|---|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
log | other |
|
error | network |
|
HTML
O corpo HTML bruto da página
<!DOCTYPE html><html class="ui-mobile"><head><base href="https://solar3p.servehttp.com/solar3p.html">
<!-- (c) APR Digital Studios - custom code for Solar3P page/app -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js" <="" script="">
<script src="https://code.jquery.com/jquery-3.5.1.min.js"</script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
<script>
function setCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
//console.log('set cookie ' + name + ' : ' + value);
}
function getCookie(name) {
console.log('get cookie ' + name);
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) {
value = c.substring(nameEQ.length,c.length);
console.log('value ' + value);
return value;
}
}
console.log('value null');
return null;
}
function getValuesforDay(day,myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var values = Array();
for (i = 0; i < numLines; i++) {
var line = lines[i];
if (line != '') {
if (day == line.split(' ')[0]) {
value = line.split(' ')[3];
values.push(value)
}
}
}
return values;
}
function getLabelsforDay(day,myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var labels = Array();
for (i = 0; i < numLines; i++) {
var line = lines[i];
if (line != '') {
if (day == line.split(' ')[0]) {
label = line.split(' ')[1];
labels.push(label);
}
}
}
return labels;
}
function getValues(myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var values = Array();
for (i = 0; i < numLines; i++) {
var line = lines[i];
if (line != '') {
value = line.split(' ')[1];
values.push(value)
}
}
return values;
}
function getLabels(myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var labels = Array();
for (i = 0; i < numLines; i++) {
var line = lines[i];
if (line != '') {
label = line.split(' ')[0];
labels.push(label);
}
}
return labels;
}
function getValues(myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var values = Array();
for (i = 0; i < numLines; i++) {
var line = lines[i];
if (line != '') {
value = line.split(' ')[1];
values.push(value)
}
}
return values;
}
function getLabels(myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var labels = Array();
for (i = 0; i < numLines; i++) {
var line = lines[i];
if (line != '') {
label = line.split(' ')[0];
labels.push(label);
}
}
return labels;
}
function getDays(myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var days = Array();
var pday='';
for (i = 0; i < numLines; i++) {
var line = lines[i];
if (line != '') {
day = line.split(' ')[0];
if (day != pday) {
days.push(day);
}
pday=day;
}
}
return days;
}
// EPEX line 0 = date
function getEpexDate(myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var line = lines[0];
epexdate = line.split(':')[1];
return epexdate;
}
function getEpexLabels(myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var labels = Array();
for (i = 1; i < numLines; i++) {
var line = lines[i];
if (line != '') {
label = line.split(':')[0];
labels.push(label);
}
}
return labels;
}
function getEpexValues(myText) {
var lines = myText.split("\n");
var numLines = lines.length;
var i;
var values = Array();
for (i = 1; i < numLines; i++) {
var line = lines[i];
if (line != '') {
value = line.split(':')[1];
values.push(value)
}
}
return values;
}
// Register the chart plugin to all charts:
Chart.register(ChartDataLabels);
Chart.defaults.set('plugins.datalabels', {
color: '#FFFFFF',
anchor: 'end',
align: 'bottom',
font: { size: 10 },
offset: 0,
rotation: 0,
weight: 'bold'
});
// globals
disable_calculate = false;
dayChart = null;
epexChart = null;
hourCharts = Array();
window.mobileCheck = function() {
let check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
return check;
};
function calculate() {
if (disable_calculate) {
console.log('calculate disabled');
return;
}
console.log('calculate');
period=$('#period').val();
wp=$('#wp').val();
panels=$('#panels').val();
lay=$('#lay').val();
gran=$('#gran').val();
region=$('#region').val();
setCookie('period',period,365);
setCookie('wp',wp,365);
setCookie('panels',panels,365);
setCookie('gran',gran,365);
setCookie('region',region,365);
setCookie('lay',lay,365);
Chart.defaults.set('plugins.datalabels', { rotation: 0,font: { size: 10 },});
if (window.mobileCheck()) {
if (gran=='hour'||gran=='hourcumm') {
Chart.defaults.set('plugins.datalabels', { rotation: 90,font: { size: 8 },});
}
}
url="solar3pweb?period="+period+"&wp="+wp+"&panels="+panels+"&lay="+lay+"&gran="+gran+"®ion="+region
if (period=='week') {
data_label = 'Opbrengst in KWh per dag '
if (gran=='hour'||gran=='hourcumm') { data_label='Opbrengst in KWh per uur ' }
}
if (period=='revenue') { data_label='Opbrengst in eurocent ' }
$.get( url, function( data ) {
if ((period=='week'||period=='revenue') & gran=='day') {
$("#hourChart0").hide();
$("#hourChart1").hide();
$("#hourChart2").hide();
$("#hourChart3").hide();
$("#hourChart4").hide();
$("#dayChart").show();
$("#epexChart").hide();
mylabels = getLabels(data);
myvalues = getValues(data);
mydata = {
labels: mylabels,
datasets: [{
label: data_label,
backgroundColor: 'rgb(63, 30, 160)',
borderColor: 'rgb(63, 30, 160)',
data: myvalues,
}]
};
myconfig = {
type: 'bar',
data: mydata,
options: {}
};
if (dayChart != null) {
dayChart.destroy();
}
dayChart = new Chart( document.getElementById('dayChart'), myconfig);
var ctx = document.getElementById("dayChart").getContext("2d");
}
if (period=='epex') {
Chart.defaults.set('plugins.datalabels', { rotation: 90,font: { size: 8 },});
$("#dayChart").hide();
$("#hourChart0").hide();
$("#hourChart1").hide();
$("#hourChart2").hide();
$("#hourChart3").hide();
$("#hourChart4").hide();
$("#epexChart").show();
mylabels = getEpexLabels(data);
myvalues = getEpexValues(data);
tot=0.0;
for (i=0; i < myvalues.length; i++) {
tot=tot+Number(myvalues[i])
}
average=tot/24;
mydate = getEpexDate(data);
mydata = {
labels: mylabels,
datasets: [{
label: 'euroct/KWh ' + mydate,
backgroundColor: 'rgb(63, 30, 160)',
borderColor: 'rgb(63, 30, 160)',
data: myvalues,
}]
};
myconfig = {
type: 'bar',
data: mydata,
options: {}
};
if (epexChart != null) {
epexChart.destroy();
}
epexChart = new Chart( document.getElementById('epexChart'), myconfig);
var ctx = document.getElementById("epexChart").getContext("2d");
}
if ((period=='week'||period=='revenue') & (gran=='hour'||gran=='hourcumm')) {
$("#dayChart").hide();
$("#epexChart").hide();
$("#hourChart0").show();
if (period != 'revenue') {
$("#hourChart1").show();
$("#hourChart2").show();
$("#hourChart3").show();
$("#hourChart4").show();
} else {
$("#hourChart1").hide();
$("#hourChart2").hide();
$("#hourChart3").hide();
$("#hourChart4").hide();
}
myDays = getDays(data);
for (let i = 0; i < myDays.length; i++) {
day=myDays[i];
col=160 + (30 * i);
bg="rgb(63, 30, " + col + ")";
chartName='hourChart'+i;
mydata = {
labels: getLabelsforDay(day,data),
datasets: [{
label: data_label + day,
backgroundColor: bg,
borderColor: 'rgb(63, 30, 160)',
data: getValuesforDay(day,data)
}]
};
myconfig = {
type: 'bar',
data: mydata,
options: {}
};
if (hourCharts[i] != null) {
hourCharts[i].destroy();
}
hourCharts[i] = new Chart(document.getElementById(chartName), myconfig);
}
}
}); // end get
}
$(document).ready(function(){
disable_calculate = true;
period = getCookie('period'); if (period) { $('#period').val(period); $('#period').change(); }
gran = getCookie('gran'); if (gran) { $('#gran').val(gran); $('#gran').change();}
region = getCookie('region'); if (region) { $('#region').val(region); $('#region').change(); }
panels = getCookie('panels'); if (panels) { $('#panels').val(panels); $('#panels').change(); }
wp = getCookie('wp'); if (wp) { $('#wp').val(wp); $('#wp').change(); }
lay = getCookie('lay'); if (lay) { $('#lay').val(lay); $('#lay').change(); }
disable_calculate = false;
if (window.mobileCheck()) {
$("#appstore").hide();
}
calculate()
}); // end of doc ready
</script><title>Solar Power Predictor</title></head>
<body class="ui-mobile-viewport ui-overlay-a">
<div data-role="page" data-url="/solar3p.html" tabindex="0" class="ui-page ui-page-theme-a ui-page-active" style="">
<div data-role="header" role="banner" class="ui-header ui-bar-inherit">
<h1 class="ui-title" role="heading" aria-level="1">Solar Power Predictor</h1>
</div><!-- /header -->
<div role="main" class="ui-content">
<form method="post" action="" enctype="multipart/form-data" id="myform">
<div class="ui-grid-b">
<div class="ui-block-a">
<label for="period">Grafiek</label>
<div class="ui-select"><div id="period-button" class="ui-btn ui-icon-carat-d ui-btn-icon-right ui-corner-all ui-shadow"><span>Opbrengst in Kwh</span><select name="period" id="period" onchange="calculate()">
<option value="week">Opbrengst in Kwh</option>
<option value="revenue">Inkomsten (vandaag)</option>
<option value="epex">Stroomprijs</option>
</select></div></div>
</div>
<div class="ui-block-b">
<label for="gran">per Dag of Uur</label>
<div class="ui-select"><div id="gran-button" class="ui-btn ui-icon-carat-d ui-btn-icon-right ui-corner-all ui-shadow"><span>Per Dag</span><select name="gran" id="gran" onchange="calculate()">
<option value="day">Per Dag</option>
<option value="hour">Per uur</option>
<option value="hourcumm">Per uur cummulatief</option>
</select></div></div>
</div>
<div class="ui-block-c">
<label for="region">Regio</label>
<div class="ui-select"><div id="region-button" class="ui-btn ui-icon-carat-d ui-btn-icon-right ui-corner-all ui-shadow"><span>Rotterdam</span><select name="region" id="region" onchange="calculate()">
<option value="rotterdam">Rotterdam</option>
<option value="almere">Almere</option>
<option value="amsterdam">Amsterdam</option>
<option value="breda">Breda</option>
<option value="denhelder">Den Helder</option>
<option value="denhaag">Den Haag</option>
<option value="deventer">Deventer</option>
<option value="eindhoven">Eindhoven</option>
<option value="groningen">Groningen</option>
<option value="leeuwarden">Leeuwarden</option>
<option value="maastricht">Maastricht</option>
<option value="middelburg">Middelburg</option>
<option value="utrecht">Utrecht</option>
<option value="texel">Texel</option>
<option value="tilburg">Tilburg</option>
<option value="zwolle">Zwolle</option>
</select></div></div>
</div>
</div><!-- grid a -->
<div class="ui-grid-b">
<div class="ui-block-a">
<label for="panels">Aantal Panelen</label>
<div class="ui-select"><div id="panels-button" class="ui-btn ui-icon-carat-d ui-btn-icon-right ui-corner-all ui-shadow"><span>12</span><select name="panels" id="panels" onchange="calculate()">
<option value="12">12</option><option value="11">11</option><option value="10">10</option><option value="9">9</option>
<option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option>
<option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="13">13</option>
<option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option>
<option value="18">18</option><option value="19">19</option><option value="20">20</option>
<option value="21">21</option><option value="22">22</option><option value="23">23</option>
<option value="24">24</option><option value="25">25</option><option value="26">26</option>
<option value="27">27</option><option value="28">28</option><option value="29">29</option>
<option value="30">30</option><option value="35">35</option><option value="40">40</option>
<option value="50">50</option><option value="60">60</option><option value="70">70</option>
<option value="80">80</option><option value="90">90</option><option value="100">100</option>
</select></div></div>
</div>
<div class="ui-block-b">
<label for="wp">WattPiek p.p.</label>
<div class="ui-select"><div id="wp-button" class="ui-btn ui-icon-carat-d ui-btn-icon-right ui-corner-all ui-shadow"><span>405</span><select name="wp" id="wp" onchange="calculate()">
<option value="405">405</option>
<option value="500">500</option>
<option value="440">440</option>
<option value="430">430</option>
<option value="420">420</option>
<option value="410">410</option>
<option value="400">400</option>
<option value="395">395</option>
<option value="375">375</option>
<option value="350">350</option>
<option value="320">320</option>
<option value="300">300</option>
<option value="275">275</option>
<option value="250">250</option>
<option value="200">200</option>
<option value="150">150</option>
</select></div></div>
</div>
<div class="ui-block-c">
<label for="lay">Ligging</label>
<div class="ui-select"><div id="lay-button" class="ui-btn ui-icon-carat-d ui-btn-icon-right ui-corner-all ui-shadow"><span>Zuid-Oost</span><select name="lay" id="lay" onchange="calculate()">
<option value="SE">Zuid-Oost</option>
<option value="S">Zuid</option>
<option value="SW">Zuid-West</option>
<option value="W">West</option>
<option value="NW">Noord-West</option>
<option value="N">Noord</option>
<option value="NE">Noord-Oost</option>
<option value="E">Oost</option>
</select></div></div>
</div>
</div><!-- grid b -->
</form>
<canvas id="dayChart" width="758" height="379" style="display: block; box-sizing: border-box; height: 379px; width: 758px;"></canvas>
<canvas id="hourChart0" style="display: none;"></canvas>
<canvas id="hourChart1" style="display: none;"></canvas>
<canvas id="hourChart2" style="display: none;"></canvas>
<canvas id="hourChart3" style="display: none;"></canvas>
<canvas id="hourChart4" style="display: none;"></canvas>
<canvas id="epexChart" style="display: none;"></canvas>
<center><p style="font-size: x-small">precision is based on sun/cloud prediction in watt/m3 - 45dg panel angle assumed - EPEX market prices with tax</p></center>
</div><!-- /content -->
<center>
<div id="appstore" name="appstore">
<a href="https://play.google.com/store/apps/details?id=tech.pubcloudnews.solar3p&pli=1&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1" class="ui-link">
<img alt="Get app on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" width="300"></a>
</div>
</center>
<div data-role="footer" role="contentinfo" class="ui-footer ui-bar-inherit"><center>(c) APR Digital Studios</center></div><!-- /footer -->
</div><!-- /page -->
<div class="ui-loader ui-corner-all ui-body-a ui-loader-default"><span class="ui-icon-loading"></span><h1>loading</h1></div></body></html>