Ru-Board.club
← Вернуться в раздел «Web-программирование»

» AJAX

Автор: edogs
Дата сообщения: 07.06.2006 17:39
alextretyak
А откуда такие данные про гугл?
http://forum.ru-board.com/postings.cgi?action=edit&forum=31&topic=8511&postno=109

Что касается "двойного" контента, ну дык в vbulletin например это просто называется archive, внизу форума ссылка, а все остальное можно запретить.
Автор: 6epcepk
Дата сообщения: 07.06.2006 18:09

Цитата:
К ajax еще не притрагивался.. пришло время...   Нужно сделать проверку на существование имени в мускуле.. по нажатию на кнопку... что вроде того как на https://accountservices.passport.net/reg.srf?id=2&sl=1&lc=1033   Может есть что где почитать?

Я бы посоветовал воспользоваться библиотекой xAJAX.

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





Цитата:
Что касается "двойного" контента, ну дык в vbulletin например это просто называется archive, внизу форума ссылка, а все остальное можно запретить.

Сейчас я сделал так: панель управления полностью на AJAX'e, а в пользовательской части только комментарии, рейтинги и т.п.
Если сделать сайт исключительно на аяксе, то он не будет индексироваться. Но если сделать внизу такую же "волшебную" ссылочку на обыкновенную версию, то будет все прекрасно.
Но тут встает вопрос о "двойном контенте" - клоакинге. Вообщем надо написать саппорту как роботы будут относиться к этому виду клоакинга ...
Автор: Xrobak
Дата сообщения: 07.06.2006 18:31

Цитата:
Может есть что где почитать?

возможно не идеальное решение, но все же почитать можно: http://webmascon.com/topics/technologies/13a.asp
Автор: edogs
Дата сообщения: 07.06.2006 23:24
6epcepk

Цитата:
версию, то будет все прекрасно.
Но тут встает вопрос о "двойном контенте" - клоакинге. Вообщем надо написать саппорту как роботы будут относиться к этому виду клоакинга ...

Это не клоакинг. Это 2 версии сайта, равноправные, находящиеся по разным адресам.
Клоакинг подразумевает выдачу разного контента по одному адресу (под это кстати подпадают иногда и двуязычные версии сайтов).
Автор: 6epcepk
Дата сообщения: 07.06.2006 23:41
А как например ... вот пользователь нашел через поисковик страницу (index.php?mycatalogfun=5) и переходит на нее. Соотвественно все ссылки будут иметь ту же структуру и он будет ходить по "сайту для робота". Если же подкинуть перенаправление на аякс-версию, то это и будет клоакинг ...
Автор: edogs
Дата сообщения: 08.06.2006 00:01
6epcepk

Цитата:
А как например ... вот пользователь нашел через поисковик страницу (index.php?mycatalogfun=5) и переходит на нее. Соотвественно все ссылки будут иметь ту же структуру и он будет ходить по "сайту для робота". Если же подкинуть перенаправление на аякс-версию, то это и будет клоакинг ...

Что такое "подкинуть"?
Безусловно редиректить - нельзя (да и если вы сделаете безусловный редирект, то как поисковик страницу проиндексит? если конечно не яваскриптом редирект делать).
Значит просто выкинуть ссылку на полную версию? Дык это полностью легально.
Автор: 6epcepk
Дата сообщения: 08.06.2006 09:53
Клоакинк - когда поисковому роботу "подкидывают" другую версию сайта (проверяют по IP робот или нет).


Цитата:
Значит просто выкинуть ссылку на полную версию?

Повторая загрузка контента? На мой взгляд решение не очень...хотя те же форумы его используют, иногда через поиск приходишь именно на версию для печати или для пда...
Автор: 6epcepk
Дата сообщения: 11.06.2006 14:34
[more=Ответ Рамблера]
Цитата:
Добрый день.
Это вполне подходящий вариант.

> [6epcepk<!-@-!>bk.ru - Срд. Июн. 07 19:41:36 2006]:
>
> Cообщение со страницы Обратной Связи
> -----------------------------------------------------------------------
>
> Отправитель: '6epcepk'
> E-mail: <6epcepk<!-@-!>bk.ru>
> Time: Wed Jun 7 19:39:37 2006
> -----------------------------------------------------------------------
> Тема: 'Вопрос по индексации сайта.'
> =======================================================================
>
> Добрый день,
> Хотелось бы узнать у Вас как поисковый робот будет относиться к
> следующему механизму функционирования веб-сайта, основанного на
> технологии AJAX: сайт планируется полностью на технологии AJAX,
> соответственно он не будет индексироваться поисковыми роботами (в
> основе - JavaScript); чтобы избежать этой проблемы планируется
> сделать Lite-версию (PDA-версию) веб-сайта, которая в свою очередь
> не будет использовать в качестве образующей структуры JavaScript.
> Собственно вопрос: как будет поисковый робот относиться к такому виду
> 'клоакинга'?
> Спасибо.
>
> =======================================================================
> Generated by info.rambler.ru
[/more]
Автор: alextretyak
Дата сообщения: 20.06.2006 16:26
N Sensey N

Цитата:
Нужно сделать проверку на существование имени в мускуле..

Ну напр. в моей либе это делается элементарно: в js-коде страницы нужно вызвать eajaxRequest('mysql_test.php',{name:'bla-bla-bla'},function (found) {if (found) alert('Имя найдено в БД'); else alert('Имя не найдено')});
И в самом файле mysql_test.php:
include 'eajax/eajax.php';
//MySQL connect
...........
eajaxResponse(mysql_num_rows(mysql_query("SELECT 1 FROM table_name WHERE name=$REQ[name] LIMIT 1")));
Как говорится, всё в пару строк.

edogs
Все данные по гугл взяты с раздела "Web-мастерам" на самом google.com, ну а вообще про поисковики — с разных источников, уже и не помню откуда.

6epcepk

Цитата:
Повторая загрузка контента?

Зачем? Я ж кстати объяснял тебе принцип. У меня сделано аналогично. И между прочим несколько страниц гугл уже внёс в индекс (посмотреть можно введя в google строку [ site:phpff.jino-net.ru ] ). Вроде всё работает (запрос в гугл EAJAX даёт ссылку на мой топик в первой десятке)... правда работает пока только в гугл, но возможно остальные поисковики не хотят идти вглубь по ссылкам просто из-за низкого рейтинга сайта.
Логи посещаемости не привожу, т.к. только обходных (work around) посещений (с адресом содержащим &NS) поисковиками более полста, причём гугл зашёл практически на все (предназначенные для поисковиков и текстовых брайзеров) страницы, а значит скоро и они попадут в индекс и могут быть отображены в результатах поиска.
Автор: SergeiZZ2
Дата сообщения: 27.06.2006 00:14
вот есть такой код
как сделать что бы при повторном вводе значения запрос делался заново
например вводим 1 результат 2
изменяем эту строчку echo $search=$search+1;
на echo $search=$search+2;
и всеравно результат 2

<html>
<head>
<title></title>

<script type="text/javascript" language="JavaScript">
<!--
var xmlhttp = false;

if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
xmlhttp.overrideMimeType('text/xml');
} else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

function preSearch() {
var theQuery = document.getElementById('query').value;

if(theQuery !== "") {
var url = 'ajax.php?q=' + theQuery;
xmlhttp.open('GET', url, true);
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('result').innerHTML = xmlhttp.responseText + ' ';
}
};
xmlhttp.send(null);
}
}
//-->
</script>

</head>

<body>
<div id="result">&nbsp;</div>
<form action="search.php" method="post">
<label for="query"><strong>Search:</strong>&nbsp;<input type="text" name="search" autocomplete="off" id="query" onKeyUp="preSearch()" /></label>
</form>
</body>

</html>

<?php
if(empty($_GET['q'])) {
echo '&nbsp;';
} else {
$search = trim($_GET['q']);
echo $search=$search+1;
}
?>

Добавлено:
Все разобрался =ъ
нужно добавить в пхп фаил строчки

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
Автор: alextretyak
Дата сообщения: 28.06.2006 14:27
SergeiZZ2
Хм. ИМХО, не факт, что все браузеры правильно воспримут эти хедеры. В спеке вообще написано, что GET-запросы через xmlhttpreq всегда кэшируются, и нужно использовать POST, если кэширование не нужно. Иногда (как в Subsys_JsHttpRequest) при использовании GET-запросов к строке после ? добавляют какую-нить приписочку, типа &1234567890, где число — это timestamp например, хотя это плохо, кэш браузера засоряет.
Автор: 6epcepk
Дата сообщения: 05.07.2006 16:35
Наткрулся на интересрую подборку уроков. Советую почитать (;
Автор: Andrewmailnew
Дата сообщения: 11.07.2006 12:11
Кому интересно <a href="http:\\***.narod.ru" >здесь</a> реализован AJAX который поддерживат Opera5+ IE5+ FF
Автор: SergeiZZ2
Дата сообщения: 11.07.2006 18:36
ни кто не встречал как сделать процентную загрузку на ajax?
Автор: N Sensey N
Дата сообщения: 11.07.2006 19:36
Church
Спасиб... сделал по твоему примеру
Работает не нарадуюсь
Автор: 6epcepk
Дата сообщения: 11.07.2006 19:43
SergeiZZ2
Загрузку файла? Вот хороший пример http://slil.ru/22915395 Но progress bar в любом случае делается с использованием perl.
Автор: N Sensey N
Дата сообщения: 11.07.2006 20:31
Щас делаю проверку пароля на ajax так вот.. хочу что бы во время того как юзер вписывает пароль - пароль бы проверялся в реальном времени.. и взависимости от результатов проверки изменялся бы текст...

Проверку и связь сделал.. работает..

Юзаю <input id="user_password" type="text" name="user_password" value="" onBlur="Check_Password(document.getElementById('user_password').value);">
<span id="password_check_text">Не подходит</span></td>

В скрипте

if (xmlObj.responseText==1)
{
    document.getElementById('password_check_text').innerHTML='Подходит';
}
else
{
document.getElementById('password_check_text').innerHTML='Не подходит';
}

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

Событие onchange дает то же эффект
Автор: sTa1kEr
Дата сообщения: 12.07.2006 09:08
N Sensey N
Используй onkeypress.
Автор: kb82
Дата сообщения: 21.07.2006 09:03
народ, замучился совсем, делаю вроде простую вещь:
doLoad (param) {
var req = window.XMLHttpRequest?
new XMLHttpRequest() :
new ActiveXObject("Microsoft.XMLHTTP");


req.open("GET", param, false);
req.send(null);
req.onreadystatechange =function() {
if (req.readyState == 4)
fileContent=req.responseText;

}
return fileContent;


}

чтобы потмо эту функцию вызвать например для заполнения какого-нить тэга:
document.getElementById('someid').innerHTML=doLoad(param) - выводит undefined - через alert работает - а через переменную загнать responseText - и возвращать его в функции не получается. в чем затык?
Автор: Cheery
Дата сообщения: 21.07.2006 17:22
kb82

Цитата:
чтобы потмо эту функцию вызвать например для заполнения какого-нить тэга:

элемент c someid существует изначально или создается?
Автор: Borodino
Дата сообщения: 22.08.2006 13:26
kb82
может тебе тут http://www.myjavaserver.com/~radion/ что пригодится.
Автор: kb82
Дата сообщения: 24.08.2006 16:19
Cheery
создается. но функция вызывается после того, как он создается.

Добавлено:
вообще, я тут натолкнулся на то,что у интернет эксплорера куча багов с заменой innerHTML
причем баги эти известные.
в итоге в файерфоксе работает, в ИЕ - шиш.
Автор: Cheery
Дата сообщения: 24.08.2006 18:18
kb82

Цитата:
создается. но функция вызывается после того, как он создается.

а вот в ie как раз и есть особенность (помню что есть, но не помню в чем точно), что созданный элемент не всегда моментально доступен.
Автор: chulim
Дата сообщения: 24.08.2006 20:18

Цитата:
а вот в ie как раз и есть особенность (помню что есть, но не помню в чем точно), что созданный элемент не всегда моментально доступен.

угу, есть такое.
либо как проявление, постоянно ползущий прогресс бар.
я обходил это вызовом созданного элемента через setTimeOut
Автор: safo
Дата сообщения: 05.09.2006 10:07
Господа. Мне нужен back на перл для Subsys_JsHttpRequest. РНР не устраивает. Кто чего знает? Второй день в поисках, и ничего...
Автор: VaultDweller
Дата сообщения: 12.09.2006 11:44

Цитата:
Мне нужен back на перл для Subsys_JsHttpRequest.
зайти в топик и там поискать религия не позволяет? я именно там видел переписанный на перл Subsys_JsHttpRequest
Автор: 6epcepk
Дата сообщения: 22.09.2006 21:15
А как можно сделать, чтобы в функции следующий операнд подождат полного выполнения предыдущего?
Автор: Paha_W
Дата сообщения: 30.09.2006 06:03
safo
http://forum.dklab.ru/comments/lib/41_jshttprequestDinamicheskayaPodkachkaDannihBezPerezagruzkiStranitsi.html?start=120
Автор: N Sensey N
Дата сообщения: 15.12.2006 18:09
Данные аджаксом отправляются на сервер через форму... выводим сообщени - отправлено... страница естественно не перезагрузилась... при нажатии f5 (refresh) - те же данные отправляются повторно...

как избежать? если ответом будет - делай переадресацию.. тогда смысл в аджаксе пропадает...
Автор: Cheery
Дата сообщения: 15.12.2006 18:11
N Sensey N

Цитата:
при нажатии f5 (refresh) - те же данные отправляются повторно

это не может быть.. почему? потому что запрос реализуется с помощью js и если у тебя после релоада сразу идет запрос, то это означает, что что то не так с js кодом.. раз он сразу посылает запрос.

Страницы: 1234567891011

Предыдущая тема: mod_rewrite: документация, готовые решения, вопросы


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.