У меня сейчас интересная проблема.Я использую Facebook PHP SDK для аутентификации пользователей на моем сайте.По первому запросу я передаю URL-адрес перенаправления, и все работает, как и ожидалось, пользователи отправляются обратно на указанный URL-адрес.
На этой странице, которую мы будем называть «Промежуточная страница», ониперенаправлен на мою вторую страницу, которую мы будем называть «Домашняя страница».И здесь можно заметить, что к URL добавлен интересный #_=_
.Эта проблема обсуждается здесь: Обратный вызов Facebook добавляет '# _ = _' к URL-адресу возврата .
Я реализовал решение JavaScript на этой странице;Однако остается одна проблема.Фактическая хеш-часть URL остается, хотя странные символы подчеркивания пропали.Итак, и это не большая проблема, теперь URL-адрес ./home#
.
Я рассмотрел несколько способов исправить это: Как удалить хэш из window.location с помощью JavaScript без обновления страницы? .
Однако, по-видимому, эти решенияНужно обновить страницу, чтобы работать.Очевидно, что это не самый эффективный и удобный способ сделать это.
Теперь я подумал, что, поскольку я, когда мой пользователь возвращается на мою «Промежуточную страницу», перенаправляя его еще раз на мою «домашнюю страницу», часть операции обновления может быть каким-то образом пропущена.,Хотя я могу быть абсолютно неправ.
Итак, чтобы сделать вывод: есть ли способ удалить оставшуюся хэш-часть URL, не перезагружая мою «Промежуточную страницу», но удалив ее, как только я перенаправлю на свою »Домашняя страница '?
РЕДАКТИРОВАТЬ: я перенаправить пользователя через PHP, используя: header('Location: ./home');
.