Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Модули Как подгружать новости на лету?

Как подгружать новости на лету?


     08.12.2012    Модули, MySQL    5538

вопрос
Как сделать, что бы сайт проверял раз в 60 секунд наличие новых новостей в базе, и если такие есть, подгружал их?

Ответил: TheImDim


function LoadContent() {
        patch = window.location.toString();
        if (patch !== undefined) {
        $.ajax({
        url: patch,
        success: function(content) {
    $('#dle-content').html($('#dle-content', content).html());
    }})}
    
    setTimeout("LoadContent()", 10000);
    }


в .htaccess в самое начало прописать следующее:

AddDefaultCharset windows-1251
Отредактировал 9-12-2012, 00:26 - ПафНутиЙ
Причина: поправил ответ

Комментарии пользователей (25)

TheImDim
18

327 | 291

TheImDim - 8 декабря 2012 23:45 - Юзер

в main.tpl заменить

<body>
на <body onload="LoadContent()">

nik1004
10 | 8

nik1004 - 8 декабря 2012 23:53 - Юзер


все подгружает, но возникла проблема сам сайт на cp-1251, при загрузке все хорошо отображает, но вот потом когда происходит onload="LoadContent()", все посты меняют кодировку и все становится так:
, 22:48: 123

TheImDim
18

327 | 291

TheImDim - 9 декабря 2012 00:05 - Юзер

Извиняюсь, немного поторопился с кодом, вот полностью рабочий вариант:

function LoadContent() {
        patch = window.location.toString();
        if (patch !== undefined) {
        $.ajax({
        url: patch,
        success: function(content) {
    $('#dle-content').html($('#dle-content', content).html());
    }})}
    
    setTimeout("LoadContent()", 10000);
    }


в .htaccess в самое начало прописать следущее:

AddDefaultCharset windows-1251

nik1004
10 | 8

nik1004 - 9 декабря 2012 00:07 - Юзер

Теперь все просто отлично, спасибо Вам огромное за помощь!

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 9 декабря 2012 00:26 - Админ

поправил ответ.

Каков вопрос - таков и ответ. Просто помните об этом.

TheImDim
18

327 | 291

TheImDim - 9 декабря 2012 00:49 - Юзер

Спасибо. Забыл добавить.

setTimeout("LoadContent()", 10000);
- где 10000 задержка в милисекундах (например 60 000 - это 60 секунд)

nik1004
10 | 8

nik1004 - 9 декабря 2012 00:51 - Юзер

ну это я знаю) не настолько нуП)

G-Force
6

161 | 45

G-Force - 9 декабря 2012 01:09 - Юзер


я нашел один сбой при добавлении новости с этим кодом (когда ты добавил новоть сразу еще можешь добавить хотя раньше надо было нажать Добавить еще или Вернуться назад (как на фото))

https://dle-faq.ru/uploads/comments/1880/temp.jpg

nik1004
10 | 8

nik1004 - 9 декабря 2012 01:12 - Юзер

для меня это не баг, так как провожу трансляции, и чем быстрее увижу панель добавления новости, тем лучше)

G-Force
6

161 | 45

G-Force - 9 декабря 2012 01:13 - Юзер

и еще стал слетать другой код

nik1004
10 | 8

nik1004 - 9 декабря 2012 01:14 - Юзер

какой именно?

G-Force
6

161 | 45

G-Force - 9 декабря 2012 01:17 - Юзер

я проверил почти весь код при обновление кода слетает

TheImDim
18

327 | 291

TheImDim - 9 декабря 2012 01:35 - Юзер

Замените
if (patch !== undefined) {

на
if (patch!== undefined && patch=="http://website.ru/" || patch=="http://website.ru/index.php") {{

чтобы обновлялась только главная страница (вместо http://website.ru/ - ваш сайт)

G-Force
6

161 | 45

G-Force - 9 декабря 2012 12:10 - Юзер

это куда писать ?

nik1004
10 | 8

nik1004 - 9 декабря 2012 13:13 - Юзер

function LoadContent() {
patch = window.location.toString();
if (patch!== undefined && patch=="http://website.ru/" || patch=="http://website.ru/index.php") {{
$.ajax({
url: patch,
success: function(content) {
$('#dle-content').html($('#dle-content', content).html());
}})}

setTimeout("LoadContent()", 10000);
}

G-Force
6

161 | 45

G-Force - 9 декабря 2012 13:25 - Юзер

не работает

<script type="text/javascript">function LoadContent() { patch = window.location.toString(); if (patch!== undefined && patch=="http://duchesne.ru/" || patch=="http://duchesne.ru/index.php") {{ $.ajax({ url: patch, success: function(content) { $('#dle-content').html($('#dle-content', content).html()); }})} setTimeout("LoadContent()", 10000); }</script>


и

в main.tpl заменить

<body>
на <body onload="LoadContent()">

nik1004
10 | 8

nik1004 - 9 декабря 2012 13:30 - Юзер

<script type="text/javascript">
function LoadContent() {
patch = window.location.toString();
if (patch!== undefined && patch=="http://сайт.ru/" || patch=="http://сайт.ru/index.php") {
$.ajax({
url: patch,
success: function(content) {
$('#dle-content').html($('#dle-content', content).html());
}})}

setTimeout("LoadContent()", 10000);
}

</script>

все работает, проблема в одной скобочке там у тебя

G-Force
6

161 | 45

G-Force - 9 декабря 2012 18:06 - Юзер

можно как то сделать чтобы погружалось только Вводная часть (если идет погрузка главной страницы то выходит из строя поисковик)

TheImDim
18

327 | 291

TheImDim - 9 декабря 2012 18:34 - Юзер

можно

G-Force
6

161 | 45

G-Force - 9 декабря 2012 18:46 - Юзер

как ?

TheImDim
18

327 | 291

TheImDim - 9 декабря 2012 19:55 - Юзер

сделай так и не парься

<body [aviable=main]onload="LoadContent()"[/aviable]>

BR0kEN
163

235 | 275

BR0kEN - 3 января 2013 16:28 - Эксперт

Если подключен jQuery, то $(document).ready() намного лучше onload.

nik1004
10 | 8

nik1004 - 24 мая 2013 15:22 - Юзер

А как подключить jquery?

nik1004
10 | 8

nik1004 - 24 мая 2013 15:24 - Юзер

точнее запихнуть этот скрипт в jquery

такой код

 <script type="text/javascript">
$(document).ready(function (LoadContent()) {
        patch = window.location.toString();
       if (patch!== undefined && patch=="http://i-sc.ru/" || patch=="http://i-sc.ru/index.php") {
        $.ajax({
        url: patch,
        success: function(content) {
    $('#dle-content').html($('#dle-content', content).html());
    }})}
    
    setTimeout("LoadContent()", 50);
    });
    
    </script>


не работает

SeregaWilliams
21 | 1

SeregaWilliams - 13 февраля 2014 07:13 - Юзер

Есть ли возможность не перезагружать уже загруженные статьи, а подгружать только новые? как вконтакте

Неудобство в том, что в shorthstory невозможно смотреть видео и спойлеры сворачиваются в изначальное состояние

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 08.03.2014 amoseo  Модули