2014-12-03 6 views
0

В моем приложении перенаправление с страницы 1 на страницу 2 занимает почти 6 секунд. Так что пока мне нужно отображать всплывающее окно сразу при нажатии гиперссылки на стр. 1, которая должна быть там до тех пор, пока все данные не загрузятся на стр. 2.Отобразить всплывающее окно даже после перенаправления на другую страницу

Я попытался реализовать обычным способом (откройте всплывающее окно по щелчку гиперссылки, а между тем страница перенаправляется на страницу2), но URL-адрес страницы страницы меняется на страницу2, всплывающее окно закрывается по мере запуска страницы DOM погрузка. Это не мое требование. Может кто-нибудь, пожалуйста, предложите мне, как это реализовать.

ответ

0

Просто подумайте ... найдите переменную GET (например, showMessage) при загрузке, которая будет отображать одно и то же всплывающее окно с страницы 1, чтобы оно выглядело как одно и то же сообщение. Пример функции для вашего обработчика событий кликов.

function redirectHandler(pageURL) { 
    // Display Popup 
    // Redirect to pageURL and append "?showMessage=true" 
} 

Когда DOM готов на странице 2, отобразите всплывающее окно перед событием загрузки страницы.

$(document).ready() { 
    // Get query parameters 
    // Display popup if showMessage is true 
} 

После Page 2 докачивает, скрытие всплывающих

$(window).load(function() { 
    // Remove popup 
}); 

переменная GET также может обрабатываться на стороне сервера, и не было бы никакой задержки JS для Отрисовка всплывающего окна.

+0

Привет Дилан, Спасибо за ваши входы. Но при переадресации с страницы 1 на страницу2 (которая занимает почти 6 секунд) это всплывающее окно исчезнет, ​​а когда страница2 начнет загружаться, это отобразится правильно. Но мне нужно показать это даже во время перенаправления (перенаправление страницы должно произойти позади всплывающее окно). – Sriks

+0

6 секунд болезненно. Возможно, вы сможете ускорить обработку второй страницы с помощью тега 'prefetch' HTML на странице 1. http://davidwalsh.name/html5-prefetch –

0

Вы можете открыть новое внешнее всплывающее окно. Он будет независимым от страницы, загружаемой в фоновом режиме.

window.open("/href/to/page"); 

Вы можете найти более подробную информацию о всплывающих окнах here

Смежные вопросы