Witam
Mam problem z długo ładującą się stroną, czasem po wpisaniu adresu pojawia się biały ekran i przeglądarka cały czas ładuje stronę nie jest tak zawsze ale dosyć często. Mam wrażenie, że gdzieś w kodzie popełniłem błąd lub jakiś skrypt zacina renderowanie strony. Strona podzielona jest na 3 części. Górna część gdzie znajduje się jedno menu, logo oraz skrypt mają wyświetlać się na wszystkich podstronach. To samo dotyczy dołu i lewej części strony zapisane są tam dane kontaktowe oraz linki do portali społecznościowych. Poszczególne części strony łącze za pomocą:
<?php include(''); ?>
Czy mógłby ktoś przeanalizować kod i ewentualnie wskazać co może blokować renderowanie strony. Hosting na którym postawiona jest strona to home.pl.
Górna część strony:
<?php
date_default_timezone_set('Europe/Warsaw');
function militime(){
$time = explode(' ',microtime(),2);
return floor(($time[1]+$time[0])*1000);
};
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>Tytul strony</title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta name="author" content="">
<link href="style.css" rel="stylesheet" >
<link href="css/fontello.css" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700&subset=latin-ext" rel="stylesheet">
<script type="text/javascript">
var $dif = (new Date(<?php echo militime();?>)).getTime() - (new Date()).getTime();
function odliczanie()
{
var dzisiaj = new Date((new Date()).getTime()+$dif);
var dzien = dzisiaj.getDate();
var dni = new Array("niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota");
var miesiac = dzisiaj.getMonth()+1;
var miesiecy = new Array("stycznia", "lutego", "marca", "kwietnia", "maja", "czerwca", "lipca", "sierpnia", "września", "października", "listopada", "grudnia");
var rok = dzisiaj.getFullYear();
var godzina = dzisiaj.getHours();
if(godzina<10) godzina = "0"+godzina;
var minuta = dzisiaj.getMinutes();
if(minuta<10) minuta = "0"+minuta;
var sekunda = dzisiaj.getSeconds();
if(sekunda<10) sekunda = "0"+sekunda;
var swieta = dzien+"/"+miesiac
if (godzina<10 || godzina>=16 || dni[dzisiaj.getDay()] == 'sobota' || dni[dzisiaj.getDay()] == 'niedziela' || swieta == '17/04' || swieta == '01/01'|| swieta == '06/01' || swieta == '01/05'|| swieta == '03/05' || swieta == '04/06' || swieta == '15/06' || swieta == '15/08' || swieta == '01/11' || swieta == '11/11' || swieta == '24/12' || swieta == '25/12' || swieta == '26/12' ) document.getElementById('status').innerHTML = 'Sklep nieczynny.'.fontcolor("red"); else document.getElementById('status').innerHTML = 'Sklep czynny, Zapraszamy.'.fontcolor("#6F0");
document.getElementById("zegar").innerHTML= "Dzisiaj jest "+dni[dzisiaj.getDay()]+" "+dzien+" "+miesiecy[dzisiaj.getMonth()]+" "+rok+", godzina "+godzina+":"+minuta+":"+sekunda+" ";
setTimeout("odliczanie()",1000);
}
</script>
<script type="text/javascript">
var nrImg = 3;
var IntSeconds = 4;
function Load()
{
nrShown = 0;
Vect = new Array(nrImg + 10);
Vect[0] = document.getElementById("Img1");
Vect[0].style.visibility = "visible";
document.getElementById("S"+0).style.visibility = "visible";
for (var i = 1; i < nrImg; i++)
{
Vect[i] = document.getElementById("Img" + (i + 1));
document.getElementById("S" + i).style.visibility = "visible";
}
document.getElementById("S" + 0).style.backgroundColor = "rgba(255,255,255,0.90)";
document.getElementById("SP" + nrShown).style.visibility = "visible";
mytime=setInterval(Timer, IntSeconds * 1000);
}
function Timer()
{
nrShown++;
if(nrShown == nrImg)
nrShown = 0;
Effect();
}
function next()
{
nrShown++;
if(nrShown == nrImg)
nrShown = 0;
Effect();
clearInterval(mytime)
mytime = setInterval(Timer, IntSeconds * 1000);
}
function prev()
{
nrShown--;
if(nrShown == -1)
nrShown = nrImg -1;
Effect();
clearInterval(mytime)
mytime = setInterval(Timer, IntSeconds * 1000);
}
function Effect()
{
for( var i = 0; i < nrImg; i++)
{
Vect[i].style.opacity = "0";
Vect[i].style.visibility = "hidden";
document.getElementById("S" + i).style.backgroundColor = "rgba(0,0,0,0.70)";
document.getElementById("SP" +i).style.visibility = "hidden";
}
Vect[nrShown].style.opacity = "1";
Vect[nrShown].style.visibility = "visible";
document.getElementById("S" + nrShown).style.backgroundColor = "rgba(255,255,255,0.90)";
document.getElementById("SP" + nrShown).style.visibility = "visible";
}
</script>
<script type="text/javascript" src="fb/lib/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="fb/lib/jquery.mousewheel-3.0.6.pack.js"></script>
<link href="fb/source/jquery.fancybox.css" rel="stylesheet">
<script type="text/javascript" src="fb/source/jquery.fancybox.pack.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".fancybox").fancybox();
});
</script>
<script src='https://www.google.com/recaptcha/api.js'></script>
</head>
<body onload= "odliczanie(); Load(); ">
<div id= "wrapper">
<div id= "header">
<div class= "belka">
<div id="zegar"></div><div id="status"></div>
<div style="clear:both"></div>
</div>
</div>
<div id="logo">
<div class="mitlogo"><img src="images/logo.png" /></div>
<div class="data"><b>Rok założenia 1996</b></div>
</div>
<div id="nav">
<div class="nawigacja">
<div class="menu" key="oferty"><a href="index.php" class="menulinki">Oferty</a></div>
<div class="menu" key="onas"><a href="onas.php" class="menulinki">O nas</a></div>
<div class="menu" key="partnerzy"><a href="partnerzy.php" class="menulinki">Partnerzy</a></div>
<div class="menu" key="kredyty"><a href="kredyty.php" class="menulinki">Kredyty</a></div>
<div class="menu" key="kontakt"><a href="kontakt.php" class="menulinki">Kontakt</a></div>
<div style= "clear:both"></div>
</div>
</div>
Główny content strony tutaj akurat strona główna, w przypadku przejścia na podstronę też czasem są problemy z ładowaniem jeżeli będzie potrzeba to wrzucę również kod podstron.
<?php include('indexup.php'); ?>
<?php
require_once"connect.php";
?>
<?php
$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
if (@!mysqli_set_charset($polaczenie, "utf8"))
{
echo "Error: ".$polaczenie->connect_errno."<br />";
}
if ($polaczenie->connect_errno!=0)
{
echo "Error: ".$polaczenie->connect_errno;
}
else
{
$query = mysqli_query($polaczenie, "SELECT * FROM slider WHERE id='1'");
$query2 = mysqli_query($polaczenie, "SELECT * FROM slider WHERE id='2'");
$query3 = mysqli_query($polaczenie, "SELECT * FROM slider WHERE id='3'");
$num_rows = mysqli_num_rows($query);
$num_rows2 = mysqli_num_rows($query2);
$num_rows3 = mysqli_num_rows($query3);
if ($num_rows !=0){
while ($fetch = mysqli_fetch_assoc($query)){
$opis1 = $fetch['opis'];
$foto = $fetch['zdjecie'];
$link1 = $fetch['link'];
}
while ($fetch = mysqli_fetch_assoc($query2)){
$opis2 = $fetch['opis'];
$foto2 = $fetch['zdjecie'];
$link2 = $fetch['link'];
}
while ($fetch = mysqli_fetch_assoc($query3)){
$opis3 = $fetch['opis'];
$foto3 = $fetch['zdjecie'];
$link3 = $fetch['link'];
}
}else{
echo "BRAK";
}
}
?>
<div id="nowe">
<div id="slider">
<div id="slider2">
<div id="imgs">
<img id="Img3" src="<?php echo $foto3 ?>"/>
<img id="Img2" src="<?php echo $foto2 ?>"/>
<img id="Img1" src="<?php echo $foto ?>"/>
</div>
<div id="Snav">
<div id="SnavUp">
<div id="Scircles">
<ul>
<li id="S0"></li>
<li id="S1"></li>
<li id="S2"></li>
</ul>
</div>
</div>
<div id="SnavMiddle">
<img id="Sleft" src="images/left.png" onclick="prev()"/>
<img id="Sright" src="images/right.png" onclick="next()"/>
</div>
<div id="SnavBottom">
<a href="<?php echo $link1 ?>" target="_blank" class="linkslider"><p id="SP0"><?php echo "$opis1" ?></p></a>
<a href="<?php echo $link2 ?>" target="_blank" class="linkslider"><p id="SP1"><?php echo "$opis2" ?></p></a>
<a href="<?php echo $link3 ?>" target="_blank" class="linkslider"><p id="SP2"><?php echo "$opis3" ?></p></a>
</div>
</div>
</div>
<div style= "clear:both"></div>
</div>
</div>
<div id= "content">
<div class="tresc">
<a href="pilne.php"><div class="pilne"><div class="podpis">Pilnie</div></div></a>
<a href="ofertyspecjalne.php"><div class="ofertyspecjalne"><div class="podpis">Oferty Specjalne</div></div></a>
<a href="#"><div class="oferty1">
<ol>
<li><a href="oferty1.php?page=1"><b>oferty1</b></a></li>
<li><a href="oferty1.php?page=1"><b>oferty1</b></a></li>
</ol>
<div class="podpis">oferty1</div></div></a>
<div style= "clear:both"></div>
<a href="#"><div class="oferty2">
<ol>
<li><a href="oferty2.php?page=1"><b>oferty2</b></a></li>
<li><a href="oferty2.php?page=1"><b>oferty2</b></a></li>
</ol>
<div class="podpis">oferty2</div></div></a>
<a href="oferty3.php"><div class="oferty3"><div class="podpis">oferty3</div></div></a>
<a href="#"><div class="oferty3">
<ol>
<li><a href="oferty3.php?page=1"><b>oferty3</b></a></li>
<li><a href="oferty3.php?page=1"><b>oferty3</b></a></li>
</ol>
<div class="podpis">oferty3</div></div></a>
<div style= "clear:both"></div>
<a href="oferty4.php?page=1"><div class="oferty4"><div class="podpis">oferty4</div></div></a>
<a href="#"><div class="oferty5">
<ol>
<li><a href="oferty5.php?page=1"><b>oferty5</b></a></li>
<li><a href="oferty5.php?page=1"><b>oferty5</b></a></li>
</ol>
<div class="podpis">oferty5</div></div></a>
<a href="#"><div class="oferty6">
<ol>
<li><a href="oferty6.php?page=1"><b>oferty6</b></a></li>
<li><a href="oferty6.php?page=1"><b>oferty6</b></a></li>
</ol>
<div class="podpis">Oferty6</div></div></a>
<div style= "clear:both"></div>
<a href="#"><div class="oferty7">
<ul>
<li><a href="Oferty71.php?page=1"><b>Oferty7</b></a></li>
<li><a href="Oferty72.php?page=1"><b>Oferty7</b></a></li>
<li><a href="Oferty73.php?page=1"><b>Oferty7</b></a></li>
</ul>
<div class="podpis">Oferty7</div></div></a>
<a href="#"><div class="Oferty8">
<ol>
<li><a href="Oferty81.php?page=1"><b>Oferty81</b></a></li>
<li><a href="Oferty82.php?page=1"><b>Oferty82</b></a></li>
</ol>
<div class="podpis">Oferty9</div></div></a>
<a href="oferty9.php"><div class="zamiany"><div class="podpis">Oferty9</div></div></a>
<div style= "clear:both"></div>
</div>
<?php include('indexdown.php'); ?>
Na stronie użyte są różne skrypty zewnętrzne, w JavaScript wklejone są kody PHP. Zauważyłem, że czasem strona załaduje się prawie cała ale długo ładują się zdjęcia. Na stronie głównej zdjęć dużo nie ma ale na podstronie może bym ich nawet kilkanaście z tym, że ładują się one w rozmiarach 150x150 ich lokalizacja pobierana jest z BD.
Z góry dziękuję za wszelkie sugestie