2015-04-09 4 views
0

У меня есть веб-сайт с множеством элементов и загрузки довольно медленно http://www.uberdice.com. Я искал способ загрузки страницы загрузки, которая указывает, что страница загружается, так как это более радует, чем просто белая страница.Страница загрузки Javascript/Jquery/PHP - Как?

Желательным примером будет http://primedice.com.

Я искал вокруг, но ни один из предложенных примеров не работал, или я просто помещаю их в неправильное место.

Я создал этот DIV:

<div id="loading" style="width: 100%; 
height: 100%; 
background: black; 
background-attachment: fixed; 
background-position: top; 
background-size: 100% 100%; 
position: absolute; 
color: white;">Loading! Please calm down guy...</div> 

который я собирался использовать в качестве страницы загрузки, и этот сценарий, чтобы отключить его.

<script type="text/javascript"> 
document.getElementById("loading").style.display = "none"; 
</script> 

Однако, когда я осуществил это, он все еще дал мне белый экран, и я увидел «нагрузку» на короткое мигание деления с до нескольких миллисекунд до полного сайта загружен. Я не думаю, что сервер медленный, поскольку пинг нормальный, и https://uberdice.com/test.php загружается быстро.

Может ли кто-нибудь предоставить какие-либо решения?

Это текущий файл index.php:

<div id="loading" style="width: 100%; 
height: 100%; 
background: black; 
background-attachment: fixed; 
background-position: top; 
background-size: 100% 100%; 
position: absolute; 
color: white;">Loading! Please calm down guy...</div> 
<?php 

header('X-Frame-Options: DENY'); 

$init=true; 
include './inc/start.php'; 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<title><?php echo $settings['title'].' - '.$settings['description']; ?></title> 
<meta name="Keywords" content=“Dogecoin, Dice, Bets, Betting”> 
<meta name="Description" content=“Exclusive Dogecoin Dice Site - 50% of ALL profits go back into Dogecoin development. In association with forum CryptoBoard.org.”> 
<link rel="shortcut icon" href="./favicon.ico"> 
<link rel="stylesheet" type="text/css" href="themes/<?php echo $settings['activeTheme']; ?>/main.css"> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="content/ext/msgbox/Scripts/jquery.msgBox.js"></script> 
<link rel="stylesheet" type="text/css" href="content/ext/msgbox/Styles/msgBoxLight.css"> 
<script type="text/javascript" src="content/ext/qtip/jquery.qtip.min.js"></script> 
<link rel="stylesheet" type="text/css" href="content/ext/qtip/jquery.qtip.min.css"> 
<script type="text/javascript" src="js/colors.js"></script>  
<?php include './js/includer.php'; ?> 
</head> 
<body> 
<?php include './themes/'.$settings['activeTheme'].'/frontpage.php'; ?> 
<!-- _COINTOLI_IDENTIFIER_2_ --> 
</body> 
</html> 
<?php include './inc/end.php'; ?> 
<script type="text/javascript"> 
document.getElementById("loading").style.display = "none"; 
</script> 

Спасибо.

+0

uberdice.com не загружается для меня – Duffmaster33

+0

@ Duffmaster33 http://uberdice.com загружает, но не www. *. http://tools.pingdom.com/fpt/#!/cep28O/http://uberdice.com – Ben

ответ

0

Проблема - время, необходимое серверу для создания вашей страницы, браузер не может отображать что-либо, пока сервер не отправит ему контент. Для сервера требуется около 6 секунд для создания контента на странице, что говорит о некоторых медленных запросах.

Загрузочная панель, которую вы пытаетесь использовать, работает только там, где на странице требуется много объектов, например, большого количества изображений. Фактический HTML-код отправляется в браузер быстро, но загрузка больших изображений выполняется отдельно и требует времени. Но ваша проблема не такая, HTML-страница занимает много времени, и сервер не будет отправлять HTML-код в браузер до тех пор, пока не будет создана полная страница.

Есть несколько вещей, которые вы можете попробовать. Во-первых, идентифицируйте запросы, требующие возраста, чтобы загрузить и оптимизировать их (я бы попробовал это в первую очередь). Второй - загрузить только кадр страницы, а затем загрузить контент с помощью Ajax.

Третий - вместо загрузки всего содержимого страницы, вы можете повторять его в браузере поэтапно по мере того, как HTML становится готовым. Из того, как загружается страница, я предполагаю, что вы храните все содержимое в переменную, и как только все будет готово вывести его на страницу. Это так же просто, как повторение содержимого, а затем продолжайте повторять бит после бит, когда он становится готовым, а не сохраняет его в переменной.

+0

Не могли бы вы показать мне пример того, что вы имеете в виду с последними двумя? – Ben

+0

Это поможет вам со вторым вариантом - http://stackoverflow.com/questions/17519411/how-to-load-a-php-page-into-a-div-with-jquery-and-ajax – Styphon

+0

Это будет помогите вам с третьим вариантом - http://stackoverflow.com/questions/20718531/php-how-to-get-partial-output-when-script-is-executing – Styphon

Смежные вопросы