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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не успевает загрузиться pdf 
:(
    Опции темы
Swatch
Дата 26.4.2010, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Недавно задавала вопрос, как при открытии нового окна с помощью window.open в это время направить родительское окно по определенному адресу. Вопрос был решен с помощью редиректа location.href.

Однако возникла другая проблема: у меня не успевает догрузиться pdf, а редирект уже происходит. В итоге все работает достаточно нестабильно: либо pdf не грузится вообще, либо данные по пути теряются и не сохраняются, либо редирект не происходит.:(

Можно как-то проверить, отработался ли window.open? Или что вообще можно в такой ситуации сделать? Может у кого есть дельные предложения? буду очень признательна!!! smile 
PM MAIL   Вверх
Amphiluke
Дата 26.4.2010, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

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



Метод window.open возвращает ссылку на объект открываемого окна, в котором (как я понял) загружется ваш PDF. Вы не пытались осуществлять redirect не сразу после вызова метода window.open, а, скажем, в обработчике события onload открываемого окна?

В общем, не видя вашего кода, предполагаю, что это могло бы выглядеть примерно так... smile
Код

var wnd = window.open(...);
wnd.onload = function() {
   location.href = "http://........................."
}

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


Опытный
**


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

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



так это не работает:(

вот мой код:
Код

    function Update(obj)
      {
    if (obj["with_nds_sum"].value <= 0) {
        alert("Вы не ввели сумму счета!");
        return false;
    }else {
        obj["mode"].value = 'print';
        str = '$url_class?edit=1&mode=print&docid=$docid&mg_id_operator='+obj["mg_id_operator"].value+'&with_nds_sum='+obj["with_nds_sum_text"].value+'&tp=\"'+obj["tp"].value+'\"&finish=Finish'
        var str_1='_blank'
        var str_2='width=640,height=480,resizable=yes,scrollbars=yes,status=no,menubar=no,toolbar=no,location=no,directories=no';
        var wnd = window.open(str,str_1,str_2);
        wnd.onload = function() {
               window.parent.location.href = '/bin/printDocs?mode=schet';
        } 
        return false;
    }

      }


в html:

Код

<input type=button name=finish value="Finish" onClick="Update(this.form);">

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


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

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



Цитата(Swatch @  26.4.2010,  14:33 Найти цитируемый пост)
так это не работает:(

В каком браузере работаете? Я вот сейчас посмотрел: действительно, IE не хочет «по-хорошему», а FF слушается. smile
Вот так удается подчинить своей воле и IE:
Код

var wnd = window.open(str,str_1,str_2);
if (wnd.addEventListener) {
    wnd.addEventListener("load", function() {parent.location.href = '/bin/printDocs?mode=schet';}, false);
} else {
    wnd.attachEvent("onload", function() {parent.location.href = '/bin/printDocs?mode=schet';});
}


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


Опытный
**


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

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



точно, Вы правы. в FF все работает... но вот в IE у меня так и не заработало:( непонятно даже...  smile 
PM MAIL   Вверх
Amphiluke
Дата 26.4.2010, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

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



Цитата(Swatch @  26.4.2010,  14:51 Найти цитируемый пост)
но вот в IE у меня так и не заработало:( непонятно даже

Старая страничка в кэше не сохранилась?
PM   Вверх
Swatch
Дата 26.4.2010, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



нет.. я уже переоткрывала IE... 
PM MAIL   Вверх
Amphiluke
Дата 26.4.2010, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

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



Хм. Как я заметил, если в дочернем окне открывается не HTML-страница, а PDF-документ, IE выбрасывает сообщение об отклоненном разрешении. Видимо, нельзя назначить обработчик события для страницы, содержащей внедренный PDF-документ. С HTML таких проблем не наблюдаю.

У FF с помощью DOM Inspector можно видеть, что PDF встраивается в страницу при помощи дескриптора embed с type="application/pdf", поэтому никаких проблем с навешиванием обработчиков события окна. В IE пока хз. smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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