Закладки HTML 5 действительно не будут работать, если ваша целевая страница запрашивает целевой контент со стороны клиента внутреннего сервера (например, через XHR или Fetch).
Чтобы решить эту проблему с помощью Next. js Вы можете включить рендеринг на стороне сервера для целевой страницы , загрузив целевое содержимое методом getInitialProps
:
function DestinationPage({ targetContent }) {
// render your target content somehow
}
DestinationPage.getInitialProps = async () => {
const targetContent = await fetch(backendUrl);
return { targetContent };
}
export default DestinationPage;
Таким образом, вы запросите целевой контент на стороне сервера и отобразить страницу, уже загруженную вашим контентом, в браузере. И, таким образом, ваши закладки будут изначально присутствовать на вашей странице.
Подробнее о том, как переключить страницу Next. js в режим рендеринга на стороне сервера, можно узнать в this сообщение в блоге .