Реклама на сайте Advertise with us

Мал. задачка по JavaScript

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

show me the money

С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263

Ссылка на сообщениеДобавлено: 11/09/10 в 02:00       Ответить с цитатойцитата 

В JavaScript'e я не силен, а изучу его только через месяц, но нужно реализовать следующее.

Есть две страницы: index.html и part.php. Нужно, чтобы в определенном месте index.html появилась выдача страница part.php. Какой код в то место страницы index.html вставить?

Помогите, плиз.

0
 



С нами с 31.05.10
Сообщения: 1991
Рейтинг: 487

Ссылка на сообщениеДобавлено: 11/09/10 в 02:35       Ответить с цитатойцитата 

яваскрипт тут не к месту - достаточно ssi выполнить
<!--#include file="part.php" -->
( http://ru.wikipedia.org/wiki/SSI_(программирование) )

0
 

show me the money

С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263

Ссылка на сообщениеДобавлено: 11/09/10 в 02:39       Ответить с цитатойцитата 

Дело в том, что страница всегда должна быть статичной. Не смотря на то, что part.php всегда возвращает разные данные, сама страница, которая их отображает - всегда статична. Поэтому ssi тут не подойдет - он изменяет код страницы.

0
 



С нами с 19.07.05
Сообщения: 318
Рейтинг: 401

Ссылка на сообщениеДобавлено: 11/09/10 в 03:57       Ответить с цитатойцитата 

Код:

<html>
<script>
function sendRequest(url,callback,postData) {
   var req = createXMLHTTPObject();
   if (!req) return;
   var method = (postData) ? "POST" : "GET";
   req.open(method,url,true);
   req.setRequestHeader('User-Agent','XMLHTTP/1.0');
   if(postData) req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
   req.onreadystatechange = function () {
      if (req.readyState != 4) return; // Not yet
      if (req.status != 200 && req.status != 304) return; // HTTP Error
      callback(req);
   }
   if (req.readyState == 4) return;
   req.send(postData);
}
var XMLHttpFactories = [
   function () {return new XMLHttpRequest()},
   function () {return new ActiveXObject("Msxml2.XMLHTTP.6.0")},
   function () {return new ActiveXObject("Msxml2.XMLHTTP.3.0")},
   function () {return new ActiveXObject("Msxml2.XMLHTTP")},
   function () {return new ActiveXObject("Msxml3.XMLHTTP")},
   function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
   var xmlhttp = false;
   for (var i=0;i<XMLHttpFactories.length;i++) {
      try { xmlhttp = XMLHttpFactories[i](); }
      catch (e) { continue; }
      break;
   }
   return xmlhttp;
}
PartHandler = function(q) {
  if(typeof(q.responseText)!='undefined')
    document.getElementById('part_div').innerHTML=q.responseText;
}
window.onload = function() { sendRequest('/part.php',PartHandler); }
</script>
<body>
Some text
<div id="part_div">loading content...</div>
Some text
</body>
</html>

4
 

show me the money

С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263

Ссылка на сообщениеДобавлено: 11/09/10 в 13:32       Ответить с цитатойцитата 

Не работает код icon_sad.gif

0
 



С нами с 28.07.07
Сообщения: 425
Рейтинг: 375

Ссылка на сообщениеДобавлено: 11/09/10 в 13:43       Ответить с цитатойцитата 

тебе надо или не надо передавать параметры на вторую страницу? если не надо не вижу проблемы кто мешает индексу быть статическим при SSI

VPS от 10$.USA/Germany

0
 



С нами с 31.05.10
Сообщения: 1991
Рейтинг: 487

Ссылка на сообщениеДобавлено: 11/09/10 в 13:55       Ответить с цитатойцитата 

код вверху рабочий - ты или пути перепутал для пхп файла, либо запускаешь не с http пути, а с локалки, либо у тебя js отключен
а вообще если собираешься учить js чтобы применять на практике - забудь про чистый js и сразу старайся писать на фреймворках - благо хороших их предостаточно - это и jQuery, и Dojo.
вот код на jQ - все лаконично и читаемо
Код: [развернуть]

не забудь разве что скачать последнюю версию - jquery-1.4.2.min.js - и положить в тот же каталлог )

0
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 11/09/10 в 14:17       Ответить с цитатойцитата 

И как с портабельностью у данного вида строчек?

Код:
function () {return new ActiveXObject("Microsoft.XMLHTTP")}

Моя подпись.

0
 



С нами с 19.07.05
Сообщения: 318
Рейтинг: 401

Ссылка на сообщениеДобавлено: 11/09/10 в 16:24       Ответить с цитатойцитата 

lega_cobra писал:
И как с портабельностью у данного вида строчек?
Код:
function () {return new ActiveXObject("Microsoft.XMLHTTP")}

98% браузеров отработают по ветке XMLHttpRequest, а эта строчка стоит последней в массиве, чтобы охватить наиболее древние msie, способные выполнить http-запрос из js при помощи объекта ActiveX.

4
 



С нами с 19.07.05
Сообщения: 318
Рейтинг: 401

Ссылка на сообщениеДобавлено: 11/09/10 в 16:35       Ответить с цитатойцитата 

clever писал:
Не работает код icon_sad.gif

Не проверял перед отправкой, подумал, наверное где-то нахомутал.
Но нет, все ок.
См. http://yaklyushin.com/test.php
Все работает

0
 

show me the money

С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263

Ссылка на сообщениеДобавлено: 11/09/10 в 19:19       Ответить с цитатойцитата 

В строке
Код:
window.onload = function() { sendRequest('/part.php',PartHandler);
заменил /part.php на ./part.php и заработало! Спасибо!

0
 



С нами с 19.07.05
Сообщения: 318
Рейтинг: 401

Ссылка на сообщениеДобавлено: 11/09/10 в 23:35       Ответить с цитатойцитата 

clever писал:
В строке
Код:
window.onload = function() { sendRequest('/part.php',PartHandler);
заменил /part.php на ./part.php и заработало! Спасибо!

Понятно. Не за что. Удачи.

4
 



С нами с 18.05.07
Сообщения: 8329
Рейтинг: 4007

Ссылка на сообщениеДобавлено: 12/09/10 в 10:01       Ответить с цитатойцитата 

А подскажите как код будет выглядить, если нужно будет вставить не part.php а целую страницу, например http://ya.ru/
Условие такое, что всё должно быть на ява скрипте. Такое вообще возможно без фреймов?

0
 



С нами с 19.07.05
Сообщения: 318
Рейтинг: 401

Ссылка на сообщениеДобавлено: 12/09/10 в 22:52       Ответить с цитатойцитата 


Нет. Запросы из js выполняются в пределах текущего хоста. Остальное блокируется.

0
 



С нами с 16.10.09
Сообщения: 343
Рейтинг: 419

Ссылка на сообщениеДобавлено: 13/09/10 в 02:50       Ответить с цитатойцитата 

http://chebykin.livejournal.com/33598.html
Вот так еще некоторые делают.

0
 



С нами с 18.05.07
Сообщения: 8329
Рейтинг: 4007

Ссылка на сообщениеДобавлено: 13/09/10 в 06:49       Ответить с цитатойцитата 

А может как то с помощью аякса и модального окна это можно реализовать?

0
 

show me the money

С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263

Ссылка на сообщениеДобавлено: 16/09/10 в 11:38       Ответить с цитатойцитата 

Как можно расширить скрипт, чтобы из одного файла .php загружалист данные в один тэг страницы, а из другого файла .php - в другой тэг.

part1.php -> <div id="p1"></div>
part2.php -> <div id="p2"></div>

0
 



С нами с 31.05.10
Сообщения: 1991
Рейтинг: 487

Ссылка на сообщениеДобавлено: 16/09/10 в 12:00       Ответить с цитатойцитата 

clever писал:
Как можно расширить скрипт, чтобы из одного файла .php загружалист данные в один тэг страницы, а из другого файла .php - в другой тэг.
part1.php -> <div id="p1"></div>
part2.php -> <div id="p2"></div>

на jq элементарно
Код: [развернуть]

4
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »