Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка на страницу контента с другого сервера, Как сделать, чтобы работало стабильно? 
:(
    Опции темы
IgorA
  Дата 4.6.2006, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.6.2006

Репутация: нет
Всего: нет



Добрый день!

Подскажите, пожалуйста, как разобраться в следующей ситуации:

Есть страничка, на которую в определнном месте необходимо загрузить контент с другого сервера.
Сейчас это делается следующим образом:

1. Создается пустой span, куда будет загружен контент:
Код

<SPAN ID=targetSpan></SPAN>


2. После этого выполняем скрипт:
Код

<script language='javascript' type='text/javascript' src='...'></script>


В src - запрос к другому серверу, который возвращает приблизительно следующий код:

Код

var targetSpan = document.getElementById('targetSpan');
try {
  targetSpan.innerHTML = 'тот контент, который мы хотим вставить на страницу';
}
  catch(e){}


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

Такой механизм работает, но не у всех пользователей. 
На моей машине, например, все работает ОК (WinXP SP2 IE6). На машине коллеги (та же система, сервис пак и браузер) - при первой загрузке страницы не срабатывает, при  рефреше - срабатывает, как и задумывалось. Такие же симтомы и у многих других пользователей. Подскажите пожалуйста, что в механизме неправильно и как можно попытаться его изменить, чтобы он работал стабильно?

Заранее благодарен!
 
PM MAIL   Вверх
dstorm81
Дата 5.6.2006, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



посмотри что катч выдает, в смысле ошибок 


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
12345c
Дата 5.6.2006, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Такое не должно работать, работает только там, где ослаблена политика безопасности (включена кроссдоменная навигация, ИЕ). Правильно делать через загрузку стороннего контента через сервер или в фрейм (тогда не будет доступа через JS). 
PM WWW   Вверх
IgorA
Дата 5.6.2006, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.6.2006

Репутация: нет
Всего: нет



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

В описанном выше подходе не могу разобраться с причиной незагрузки блока в некоторых случаях. На машине коллеги, где блок не грузится свряли все настройки IE - все было одинаково. Еще сбивает с толку то, что при рефреше или при повторном заходе на эту страницу - блок грузится нормально... 
PM MAIL   Вверх
dstorm81
Дата 5.6.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



в смысле это что информер чтоли у тебя подгружается? 


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
IgorA
  Дата 5.6.2006, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 4.6.2006

Репутация: нет
Всего: нет



Таким образом пытаюсь подгружать рекламный блок.

А скажите, pls, еще такое: можно ли в коде вроде этого

Код

<script language='javascript' type='text/javascript'>
function checkSpan() {
  str = document.all["targetSpan"].innerHTML;
    if (str.indexOf("<какой-то условный код>") != -1) {
      ....
    }
}
</script><?


 внутри условия еще раз попробовать загрузить внешний скрипт?

Код

<script language='javascript' type='text/javascript' src='...'></script>


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

Это сообщение отредактировал(а) IgorA - 5.6.2006, 11:01
PM MAIL   Вверх
12345c
Дата 5.6.2006, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Цитата(IgorA @  5.6.2006,  10:03 Найти цитируемый пост)
Через сервер делать не хотелось
а вариантов нет. Или своё приложение для работы с вебом, или свой ActiveX ещё. Через сервер никто не заставляет тормозить. Страница выдаётся сразу, а потом по XMLHttpRequest или в фрейм грузите сторонний блок через сервер или спрашиваете у него, что за нелады. smile

Цитата(IgorA @  5.6.2006,  10:57 Найти цитируемый пост)
внутри условия еще раз попробовать загрузить внешний скрипт?
В смысле не со своего сервера? Нет. Со своего - да. Один из нескольких способов опросить сервер (называется JsHttpRequest, ищите по поиску).
Цитата(IgorA @  5.6.2006,  10:03 Найти цитируемый пост)
В описанном выше подходе не могу разобраться с причиной незагрузки блока в некоторых случаях
Это интересный для всех вопрос. Если разберётесь, напишите, "+" гарантирован smile. Может быть связано с сервис-паками.


А фрейм, кстати, можно делать невидимый, чтобы прочитать оттуда и внедрить на свою страницу через JS (со своего домена через свой сервер). 
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1170 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.