Сообщения из HTML / JS пока открыт PDF - PullRequest
0 голосов
/ 29 ноября 2010

Я нуб из javascript, поэтому этот вопрос может показаться очень простым, и мне может понадобиться много указаний :) Это эффект, который я хочу создать:

Пользователь в настоящее время просматривает PDF в браузере. Документ встроен с тегом в HTML. В моем PDF-файле есть формы, поэтому есть некоторая обработка (проверки и т. Д.), Которую я выполняю внутри PDF-файла, когда пользователь взаимодействует с ним. Иногда, после немедленного ввода значения, пользователь закрывает PDF - и мой последний бит обработки не завершен.

В таком случае я бы хотел (1) остановить закрытие PDF до завершения моей обработки (HTML знает о статусе обработки PDF, поэтому HTML знает, когда можно разрешить закрытие) ( 2) Хотя я остановил закрытие PDF, после того, как пользователь попытался закрыть окно, я хочу показать ему какое-то сообщение, указывающее, что PDf еще не завершил обработку (3) Когда сообщение от (2) отображается пользователю, взаимодействие с PDF должно быть отключено - и в идеале этот факт должен быть выражен визуально. Например, PDF-файл может отображаться серым цветом на фоне сообщения (4) После завершения обработки я хочу закрыть окно браузера

Для (1), (4) я использую onbeforeunload, и это хорошо служит моим целям. Но в плане удобства использования - (2), (3) - я понятия не имею, как мне поступить. Это может быть чем-то вроде поиска картинок Google, когда вы нажимаете на миниатюру на главной странице . - на переднем плане изображение (я мог бы заменить его собственным сообщением), фон - серый. Однако это не мешает взаимодействию с фоном - щелчок по нему приводит меня к исходной веб-странице. Кроме того, я не знаю, будет ли работать JS, когда PDF уже открыт.

Спасибо!

Ответы [ 2 ]

1 голос
/ 29 ноября 2010

В интересах других ответ квадратного лица на его собственный вопрос заключается в том, чтобы встроить плагин PDF в страницу HTML, одновременно заполняя окно.

Это будет выглядеть одинаково, но HTML и любой связанный с ним javascript все равно будут присутствовать, и, если вы имеете дело с браузерами, которые не позволяют контенту перекрывать плагины, вы можете просто использовать Javascript для уменьшения высоты просмотр PDF на пару em с каждый раз, когда необходимо отобразить сообщение, чтобы освободить место для панели уведомлений.

Если я не ошибаюсь, width="100%" height="100%" не является допустимым XHTML. Правильным решением будет либо использовать style="width: 100%; height: 100%", либо добавить это в таблицу стилей.

#PDFcontent { width: 100%; height: 100%; }

Обновление: Что касается запрета пользователю закрывать PDF-файл до завершения обработки, возможность сделать это очень ограничена, чтобы минимизировать возможность злоупотребления, поэтому все, что вы действительно можете сделать, это надежно сделать, это показать "Вы уверены?" Диалог.

Вот код, который я использовал в одном из моих проектов:

window.onbeforeunload = function() {
    if ($('#quote_preview').text() != "" && document.submit_warn) {
        return "The currently-entered quote has not been" +
               " submitted. Are you sure you want to discard it?";
    }
};

В этом случае я использую jQuery, но основная идея заключается в том, что вы назначаете функцию в качестве обработчика onbeforeunload, которая определяет, «Вы уверены?» Диалог должен отображаться и, если так, возвращает текст для отображения в нем.

Браузер контролирует, какое дополнительное объяснение (если оно есть) будет отображаться, как будут выглядеть кнопки «ОК / Отмена» и блокируется ли манипулирование страницей при открытом диалоговом окне. Я не думаю, что это можно контролировать самостоятельно.

0 голосов
/ 29 ноября 2010

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...