2010-11-09 2 views
1

Я пытаюсь перенаправить пользователей на страницу только с определенной страницы.Самый быстрый способ перенаправления на стороне сервера

Я пробовал meta Refresh, windows.location, top.location.replace, но все они занимают слишком много времени, чтобы перенаправить, так как клиенту нужна страница, измененная мгновенно или как можно ближе. Мне интересно, есть ли более быстрый, не серверный метод для этого. Заголовок php также не является параметром, так как сценарий должен быть помещен внутри страницы.

Любые идеи были бы высоко оценены!

+0

Soo ... Что такое самая быстрая переадресация на сервер, с php? Я хочу определить, какой браузер у кого-то (между FF chrome и safari) и перенаправить соответственно на расширение браузера. В основном страница не имеет целью, кроме как маршрутизировать вас в соответствии с вашим браузером, и на странице не будет html. –

ответ

2

Поместите как мета, так и метод javascript по вашему выбору как можно ближе к вершине. Это ВСЕ методы перенаправления на стороне клиента.

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

Если вы действительно хотите попасть в глупые крайности, если вы можете предварительно загрузить целевую страницу на предыдущей странице в скрытом iframe, переход будет близок к мгновенному, так как браузер попадает в локальный кеш и пропускает DNS Погляди. Убедитесь, что заголовки etags и кеша настроены правильно на стороне сервера.

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

+0

Quibble: Обновление метаданных может вести себя иначе, чем две команды на основе сценария, основанные на браузере. –

+0

Справедливая точка. Лучше всего включить оба метода, чтобы получить как можно больше браузеров, но вы можете замедлить время загрузки страницы крошечным smidgen, сделав это. Обновлен ответ. –

+0

Спасибо, ребята. Я думаю, что я попытаюсь поэкспериментировать со скрытой исходной страницей, но перенаправление будет загружено внутри предложения if, иначе будет отображаться обычная страница, поэтому мне придется скрывать содержимое всей страницы только в том случае, если она находится на странице. – Sherif

0

Я бы сказал, что мета-обновление будет быстрее упомянутых. Просто для того, что он сверху на документе и что теги JavaScript <script> блокируются при интерпретации.

+0

Правда, но он не работает надежно во всех браузерах. Если браузер принимает мета, он начнет работать с ним сразу после загрузки страницы. Если нет, javascript начнет работать в этот момент. –

+0

@Paul, Приятно знать. Благодарю. –