Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/75: Рейтинг темы: голосов - 75, средняя оценка - 4.72
 Аватар для 19dmitry
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150

Ajax динамическая подгрузка данных html на страницу

05.03.2018, 01:31. Показов 15084. Ответов 18

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые пользователи!

Тема довольно избитая, видел много решений данного вопроса, но все-равно, боюсь, что без Вашей помощи я не справлюсь.

Есть активное меню в файле index.html, при нажатии на которое блок div в этом файле должен подгружать содержимое отдельных страниц. Страницы с контентом также в html-формате.

Выбор решения пал на Ajax.

В наличии файлы с контентом:

main.html
directions.html
services.html
about.html

Файл index.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
<head>
    <script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js?ver=1.6.4"></script>
    <script type="text/javascript" src='ajax.js'></script>
 
   <style>
      #menu {relative; top:0.5cm; padding-top:1cm; padding-left:13.5cm; font-size:16pt; word-spacing:1.5cm; font-family:Tahoma;}  
      #nav_links {}
      .main {}
      .directions {}
      .services {}
      .about {}
    </style>
 
</head>
 
<body>
   <div id="nav_links">
     <div id="menu">
       <a   class="main"   href="/main.html">  Главная  </a>
       <a   class="directions"   href="/directions.html">  Направления  </a>
       <a   class="services"   href="/services.html">  Продукция  </a>
       <a   class="about"   href="/about.html">  О&nbsp;Предприятии  </a>
     </div>
  </div>
  <!--Подгружаемый контент-->
  <div id="content"></div>
</body>
Файл ajax.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
$('.nav_links a').click(function() {
    var pageName = $(this).attr('class') + '.html';
    
    $.ajax({
        url: pageName,
        cache: false,
        success: function(html){
            $(".content").html(html);
        }
    });
});
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2018, 01:31
Ответы с готовыми решениями:

Динамическая подгрузка данных на страницу
Доброго времени суток. Есть такой вопрос, хочу сделать подгрузку данных в комментариях к примеру на фотографии. Нашёл подходящий готовый...

Динамическая подгрузка контента Ajax
Помогите пожалуйста разобраться. Необходимо на сайте barinel.ru сделать переключение во вкладках &quot;прессы вертикальные&quot;,...

PHP и AJAX. Динамическая подгрузка <select> и <ul>
Всем привет) У меня на сайте есть Оочень большой ненумерованный список складывающийся гармошкой. Как сделать так, чтобы ...

18
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.03.2018, 03:50
19dmitry, вопросик или описание проблемы забыли добавить.
Пока могу сделать два замечания:
1. $('.nav_links a') - селектор указывает на дочерние ссылки родительского элемента с классом "nav_links". В то время, как по коду видим, что это должен быть или элемент с ID = "nav_links" или ID = "menu". Это же замечание относится и к элементу, в который вы собираетесь выводить контент - id="content"
2. var pageName = $(this).attr('class') + '.html'; - не имеет особого смысла, т.к. в атрибуте href у вас уже сформированный путь к файлу.
JavaScript
1
2
3
4
5
6
7
8
9
$('#nav_links a').click(function() {
    $.ajax({
        url: $(this).attr('href'),
        cache: false,
        success: function(html){
            $("#content").html(html);
        }
    });
});
0
41 / 37 / 15
Регистрация: 22.03.2013
Сообщений: 293
05.03.2018, 11:00
Инкрементирую предыдущего комментатора.
Кст возможно стоит использовать не
JavaScript
1
$('#nav_links a')
,а (Ну для экономии на спичках=) Однако отработают одинаково)
JavaScript
1
$('#nav_links').find('a')
0
 Аватар для 19dmitry
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
05.03.2018, 11:28  [ТС]
Суть вопроса в том, что НЕ РАБОТАЕТ! )

Пробовал, просто подгружать в блок div контент другой html страницы через load, всё получилось, сработало.

А вот смена контента при помощи меню, не выходит.

Учитывая Ваши рекомендации, подкорректировал код, class изменил на id, удалил #nav_links как избыточный, одного "#menu" должно быть достаточно.

Выкладываю исправленный код:

ajax.js
JavaScript
1
2
3
4
5
6
7
8
9
$('#menu a').click(function() {
    $.ajax({
        url: $(this).attr('href'),
        cache: false,
        success: function(html){
            $("#content").html(html);
        }
    });
});
index.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<head>
 
  <style>
      #menu {relative; top:0.5cm; padding-top:1cm; padding-left:13.5cm; font-size:16pt; word-spacing:1.5cm; font-family:Tahoma; font-style:italic;}
      #menu a:link {color:#000000}
      #menu a:visited {font-weight:lighter; color:#000000}
      #menu a:hover {font-weight:bolder; color:#000000}
      #menu a:active {font-weight:bold; color:#000000;}
      #menu a{text-decoration:none;}
      #content {}
  </style>
</head>
 
<body>
  
    <div id="menu">
         <a href="/main.html">Главная</a>
         <a href="/directions.html">Направления</a>
         <a href="/services.html">Продукция</a>
         <a href="/about.html" style="word-spacing:0cm">О&nbsp;Предприятии</a>
    </div>
 
    <div id="content"></div>
</body>
0
41 / 37 / 15
Регистрация: 22.03.2013
Сообщений: 293
05.03.2018, 11:52
Лучший ответ Сообщение было отмечено 19dmitry как решение

Решение

Когда вы указываете
HTML5
1
<a href="/main.html">Главная</a>
Вы по сути реализуете переход с текущей страницы на указанную в href.
Возможно стоит использовать другой атрибут
HTML5
1
<a data_target="/main.html">Главная</a>
и тут
JavaScript
1
2
3
4
5
6
7
8
9
$('#menu a').click(function() {
    $.ajax({
        url: $(this).attr('data_target'),
        cache: false,
        success: function(html){
            $("#content").html(html);
        }
    });
});
2
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.03.2018, 11:59
Цитата Сообщение от 19dmitry Посмотреть сообщение
смена контента при помощи меню, не выходит
Что наблюдаете в консоли? Ошибок, связанных с данным кодом, скорее всего нет, но интересует закладка Network (Сеть). Какой код ответа (статус), приходит ли что-то вообще в ответе на запрос?

Добавлено через 1 минуту
Цитата Сообщение от Корд Посмотреть сообщение
Вы по сути реализуете переход с текущей страницы на указанную в href.
Во!)) Абсолютно верно. Нужно отменять обычное поведение при событии клика на ссылку: event.preventDefault() или return false;

Добавлено через 2 минуты
JavaScript
1
2
3
4
5
6
7
8
9
$('#menu a').click(function(e) {
    e.preventDefault();
    $.ajax( /* ... */ );
});
// или 
$('#menu a').click(function() {
    $.ajax( /* ... */ );
    return false;
});
0
 Аватар для 19dmitry
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
05.03.2018, 12:54  [ТС]
Пробую уже разные варианты:
1) локально, через openserver
2) через хост Hostiman

Результат один и тот же.

Прикрепляю скрины вкладок Network.

Судя по чистому окну консоли, ответа от сервера нет.
Миниатюры
Ajax динамическая подгрузка данных html на страницу   Ajax динамическая подгрузка данных html на страницу   Ajax динамическая подгрузка данных html на страницу  

0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.03.2018, 13:17
Цитата Сообщение от 19dmitry Посмотреть сообщение
Прикрепляю скрины вкладок Network.
Смотреть нужно XHR-запрос. Т.е. когда выполнили клик на ссылке.
0
 Аватар для 19dmitry
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
05.03.2018, 13:24  [ТС]
При data_target ссылка не работает, курсор-стрелка меняется на прямую черту. При href отображается следующая ошибка:
Миниатюры
Ajax динамическая подгрузка данных html на страницу  
0
 Аватар для 19dmitry
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
05.03.2018, 13:26  [ТС]
Хотя не понятно, ведь файл jquery находится там же где и остальные страницы сайта, в папке js. Почему он его ищет по прежнему адресу?
0
41 / 37 / 15
Регистрация: 22.03.2013
Сообщений: 293
05.03.2018, 13:32
Цитата Сообщение от 19dmitry Посмотреть сообщение
При data_target ссылка не работает
Код пожалуйста, только что не поленился запустить код - все отработало как надо
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.03.2018, 13:36
Цитата Сообщение от 19dmitry Посмотреть сообщение
следующая ошибка
Вы свой html-файл запускайте не двойным кликом по нему, а на локальном сервере, через адресную строку. Или же, если локального сервера нет, то путь нужно указывать относительный.

Добавлено через 1 минуту
P.S. Попробуйте убрать слеш в начале. Не /directions.html, а просто directions.html
0
 Аватар для 19dmitry
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
05.03.2018, 13:38  [ТС]
Высылаю код целиком, всё что есть.

ajax.js
JavaScript
1
2
3
4
5
6
7
8
9
10
$('#menu a').click(function() {
    $.ajax({
        url: $(this).attr('data_target'),
        cache: false,
        success: function(html){
            $("#content").html(html);
        }
    });
    return false;
});
index.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html>
 
<html lang="ru-RU">
  <head>
    <meta charset="UTF-8">
    <title>Наименование сайта</title>
    <script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js?ver=1.6.4"></script>
    <script type="text/javascript" src='ajax.js'></script>
 
    <style>
      #menu {relative; top:0.5cm; padding-top:1cm; padding-left:13.5cm; font-size:16pt; word-spacing:1.5cm; font-family:Tahoma; font-style:italic;}
      #menu a:link {color:#000000}
      #menu a:visited {font-weight:lighter; color:#000000}
      #menu a:hover {font-weight:bolder; color:#000000}
      #menu a:active {font-weight:bold; color:#000000;}
      #menu a{text-decoration:none;}
 
      #logo {position:absolute; padding-left:5cm; top: 0px; padding-top:1cm;}
      #header {position:relative; top: 0.5cm; padding-left:18cm; font-size:11pt; font-family:Microsoft Sans Serif; color:#8e8e8e;}
 
      #footer {position:relative; top:3cm; margin-left:5cm; text-align:left; max-width: 982px; background-color:#fff; font-size:11pt; font-family:Microsoft Sans Serif; color:#8e8e8e;}
      #author {position:absolute; text-align:left; padding-left:17cm; padding-bottom:0.5cm;}
      #contacts {position:absolute; text-align:left; padding-left:0cm; padding-bottom:0.5cm;}
      hr {margin:0; border:none; height: 3px;}
      
      #content {}
 
    </style>
  
 
  </head>
 
  <body>
 
   <p id="header"><i>Разработка, производство, поставка специальных машин и устройств</i></p>
 
 
    <div id="menu">
      <a data_target="/main.html">Главная</a>
      <a href="/directions.html">Направления</a>
      <a href="/services.html">Продукция</a>
      <a href="/about.html" style="word-spacing:0cm">О&nbsp;Предприятии</a>
    </div>
  
    <img id="logo" src="/pictures/logo.jpg" alt="logo"/> 
 
    <div id="content"></div>
 
  </body>
</html>
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.03.2018, 13:40
Цитата Сообщение от 19dmitry Посмотреть сообщение
В наличии файлы с контентом
Кстати, эти все файлы файлы лежат рядом с index.html?

Добавлено через 1 минуту
Цитата Сообщение от 19dmitry Посмотреть сообщение
всё что есть
Это не всё, что есть. Во-вторых, прочитайте дополнение к моему ответу в предыдущем комментарии.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
05.03.2018, 13:43
У вас там кстати jQuery дублируется. Вы подключаете сразу две версии библиотеки. Оставьте только одно следующее объявление:
HTML5
1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Добавлено через 1 минуту
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
$(function() {
  $('#menu a').click(function() {
    $.ajax({
      url: $(this).attr('data_target'),
      cache: false,
      success: function(html){
          $("#content").html(html);
      }
    });
    return false;
  });
});
Так должно работать
2
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.03.2018, 13:45
Лучший ответ Сообщение было отмечено 19dmitry как решение

Решение

Код JS выполнять после загрузки DOM
JavaScript
1
2
3
$(function(){
    // ваш код
});
Убрать подключение "1.6.4/jquery.min.js"
1
41 / 37 / 15
Регистрация: 22.03.2013
Сообщений: 293
05.03.2018, 13:53
Все отлично работает. Следите только за путями файлов, которые указываете в data_target.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!DOCTYPE html>
 
<html lang="ru-RU">
  <head>
    <meta charset="UTF-8">
    <title>Наименование сайта</title>
    <script src="/js/jquery.js"></script>
 
    <style>
      #menu {relative; top:0.5cm; padding-top:1cm; padding-left:13.5cm; font-size:16pt; word-spacing:1.5cm; font-family:Tahoma; font-style:italic;}
      #menu a:link {color:#000000}
      #menu a:visited {font-weight:lighter; color:#000000}
      #menu a:hover {font-weight:bolder; color:#000000}
      #menu a:active {font-weight:bold; color:#000000;}
      #menu a{text-decoration:none;}
 
      #logo {position:absolute; padding-left:5cm; top: 0px; padding-top:1cm;}
      #header {position:relative; top: 0.5cm; padding-left:18cm; font-size:11pt; font-family:Microsoft Sans Serif; color:#8e8e8e;}
 
      #footer {position:relative; top:3cm; margin-left:5cm; text-align:left; max-width: 982px; background-color:#fff; font-size:11pt; font-family:Microsoft Sans Serif; color:#8e8e8e;}
      #author {position:absolute; text-align:left; padding-left:17cm; padding-bottom:0.5cm;}
      #contacts {position:absolute; text-align:left; padding-left:0cm; padding-bottom:0.5cm;}
      hr {margin:0; border:none; height: 3px;}
      
      #content {}
 
    </style>
  
    <script>
    $(document).ready(function(){
        $('#menu a').click(function() {
            $.ajax({
                url: $(this).attr('data_target'),
                cache: false,
                success: function(html){
                    $('#content').html(html);
                }
            });
            return false;
        });
    })
    </script>
  </head>
 
  <body>
 
   <p id="header"><i>Разработка, производство, поставка специальных машин и устройств</i></p>
 
 
    <div id="menu">
      <a data_target="main.php">Главная</a>
      <a data_target="directions.html">Направления</a>
      <a data_target="services.html">Продукция</a>
      <a data_target="about.html" style="word-spacing:0cm">О&nbsp;Предприятии</a>
    </div>
  
    <img id="logo" src="/pictures/logo.jpg" alt="logo"/> 
 
    <div id="content"></div>
 
  </body>
</html>
0
 Аватар для 19dmitry
37 / 37 / 22
Регистрация: 18.01.2014
Сообщений: 150
05.03.2018, 14:01  [ТС]
Спасибо за помощь!

ВСЁ ЗАРАБОТАЛО!

Строка $(function(){ была потеряна, из-за этого и возникла проблема.

href заменена на data_target.

Выкладываю код. Страницы с контентом не привожу, они стандартные html-файлы.

ajax.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
$(function() {
  $('#menu a').click(function() {
    $.ajax({
      url:$(this).attr('data_target'),
      cache: false,
      success: function(html) {
        $("#content").html(html);
      }
    });
    return false;
  });
});
index.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!DOCTYPE html>
 
<html lang="ru-RU">
  <head>
    <meta charset="UTF-8">
    <title>Наименование сайта</title>
    
    <script type="text/javascript" src="/js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src='ajax.js'></script>
 
    <style>
      #menu {relative; top:0.5cm; padding-top:1cm; padding-left:13.5cm; font-size:16pt; word-spacing:1.5cm; font-family:Tahoma; font-style:italic;}
      #menu a:link {color:#000000}
      #menu a:visited {font-weight:lighter; color:#000000}
      #menu a:hover {font-weight:bolder; color:#000000}
      #menu a:active {font-weight:bold; color:#000000;}
      #menu a{text-decoration:none;}
 
      #logo {position:absolute; padding-left:5cm; top: 0px; padding-top:1cm;}
      #header {position:relative; top: 0.5cm; padding-left:18cm; font-size:11pt; font-family:Microsoft Sans Serif; color:#8e8e8e;}
      
      #content {}
 
    </style>
  
 
  </head>
 
  <body>
 
   <p id="header"><i>Разработка, производство, поставка специальных машин и устройств</i></p>
 
 
    <div id="menu">
      <a data_target="main.html">Главная</a>
      <a data_target="directions.html">Направления</a>
      <a data_target="services.html">Продукция</a>
      <a data_target="about.html" style="word-spacing:0cm">О&nbsp;Предприятии</a>
    </div>
  
    <img id="logo" src="/pictures/logo.jpg" alt="logo"/> 
 
    <div id="content"></div>
  </body>
</html>
Отвечаю на предыдущие вопросы уже не актуальные (возможно кому-нибудь помогут)
1) Все файлы находятся в одной папке.
2) В локальном сервере запускал через значок openserver на панели задач.

Еще раз. ВСЕМ ОГРОМНОЕ СПАСИБО!!!
Миниатюры
Ajax динамическая подгрузка данных html на страницу  
1
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.03.2018, 15:01
Цитата Сообщение от 19dmitry Посмотреть сообщение
href заменена на data_target
Не обязательно. Ссылка могла служить в качестве fallback. И еще, если даже атрибут, то я бы всё-таки использовал data-атрибут. В jQuery доступ к его значению даёт метод data().
HTML5
1
<a data-target="main.html">Главная</a>
JavaScript
1
$('a').data('target'); // main.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2018, 15:01
Помогаю со студенческими работами здесь

AJAX динамическая подгрузка страниц (7стр), сильно скажется на поисковой оптимизации?
Скажите пожалуйста, если сайт большой то понятное дело что да, но если сайт всего из 7 страниц? подгружаются таким способом...

Динамическая подгрузка данных
Добрый день. Такой момент: при создании сущности необходимо в dropdownlist выбрать какое либо значение и в зависимости от выбранного...

Динамическая подгрузка данных по запросу
Здравствуйте дорогие форумчане) Кто подскажет в чём проблема? Есть форма, с выпадающим списком, выбираю пункт из него, нажимаю кнопку...

Динамическая подгрузка данных из MySQL в select
Всем привет, ребят помогите решить проблему. В Базе MySQL имеется три таблицы ( Ребенок, Лагерь, Заявки ). В таблицу Заявки добавляются...

Динамическая подгрузка данных из базы в скрытый div
Помогите, пожалуйста! Имеется список песен по алфавиту, при нажатии на название песни открывается текст песни в модальном окне. Сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru