#PageReveal
Durgesh struggled with cross-document view transitions and published the article that he wished existed. Hands-on tips like the 4s transition timeout (TIL!), `blocking=render`, and `pagereveal`/`pageswap` events. Highly recommended.

https://css-tricks.com/c...
June 4, 2026 at 2:10 PM
🦄🗡Don't Starve Together: Wigfrid's Arrival🦄
⋆༺𓆩⚔𓆪༻⋆༺𓆩⚔𓆪༻⋆༺𓆩⚔𓆪༻⋆༺𓆩
Page 04-15
She arrived looking impressive.

#GameComics #DontStarveTogether #Wigfrid #IndieGames #SurvivalGame #ComicArt #GamingCommunity #GameMoments #FanArt #PageReveal
February 10, 2026 at 11:00 AM
🦄🗡Don't Starve Together: Wigfrid's Arrival
⋆༺𓆩⚔𓆪༻⋆༺𓆩⚔𓆪༻⋆༺𓆩⚔𓆪༻⋆༺𓆩⚔𓆪༻⋆
Page 07-15 WOW!

#Wigfrid #DontStarveTogether #ComicArt #IndieGame #SurvivalGame #GameCommunity #FanArt #PageReveal #GamingArt #AdventureGame #IndieComics #DigitalArt #MedievalFantasy #ArtOfTheDay #Illustration #Webcomic
February 11, 2026 at 2:01 PM
You can check for hasUAVisualTransition in the pagereveal event. When it's true, don't run your View Transition.
January 15, 2025 at 8:30 PM
Typically you can do with just the types on pagereveal (the new page) but sometimes you want them on the old page as well, for example to capture an element (on the old page) based on the type.
May 2, 2026 at 6:45 PM
Screw it. Here's a previously unseen page from #Bereavement, and this time, I did not remove any of the dialogue to hide #spoilers😜

I love silent pages, especially those that look like this 😮 great #artwork by Samuel Donato and colour by @giotengco.bsky.social.

#pagereveal #comics
December 16, 2024 at 3:32 PM
You can use the pagereveal event to set the types.
With the Navigation API you can find out where you came from (only Chrome, not Safari). For a cross-browser solution, send your "to" page's pagereveal listener a message from the "from" page's pageswap listener via sessionStorage.
February 22, 2025 at 4:21 PM
But I really like the idea of inserting a breakpoint on pagereveal - will take a stab at that!
September 11, 2025 at 7:46 PM
You might also be interested in drafts.csswg.org/css-navigati... (very early draft, still undergoing lots of changes).

This will allow you to set `view-transition-name` values based on the route you are coming from and/or going to, all straight from within CSS (no need for JS pageswap/pagereveal).
CSS Route Matching
drafts.csswg.org
February 4, 2026 at 9:03 AM
Check the DevTools Console Tab for log messages.

Use the Animations Tab in DevTools to pause your transitions.

If you are using pageswap/pagereveal don't forget to do cleanup after the transition ran to handle BFCache.
November 25, 2024 at 6:20 PM

The simplest way is to get the direction is to check the indices of the navigation.activation object of the Navigation API in an event listener for the pagereveal event.

But that won't work for Safari, which has View Transitions but no Navigation API.
January 13, 2025 at 7:45 PM
ja, pageswap und pagereveal der View Transition API waren leider noch unbekannt, als wir die Lifecycle events für Astro js definiert haben.

Grinsen musste ich, weil Du im Beispiel den swap einfach wegdefinierst, da Du eh schon alles im before-swap erledigt hast.

Have fun with view transitions!
April 24, 2025 at 6:31 AM
I have to admit your portfolio site does not work as a minimal reproduction😈.

A breakpoint on pagereveal might reveal that the page briefly renders without the backdrop blur before the view transition even starts. But I didn't dig any deeper.

Maybe a working example might help like last time?
September 11, 2025 at 7:27 PM
The common gotcha here is that there's a race condition with the first frame that the dev-enviroment masks somehow, which means that render-blocking is not properly set up.

A very common gotcha is putting a pagereveal event listener in an async script that's not render-blocking.
May 7, 2025 at 6:47 AM
Why is the example code of @developer.mozilla.org setting the `e.viewTransition.types` on `pageswap` AND on `pagereveal`?

Am I missing something?

The transition type set on pageswap seems not to carry over to the new page, where the actual animation happens.

@bram.us, am I stupid?
May 2, 2026 at 6:42 PM
So... something like this would work for an MPA?

```
window.addEventListener("pagereveal", async (e) => {
if (e.viewTransition && e.hasUAVisualTransition) {
e.viewTransition.skipTransition();
}
}
```
January 15, 2025 at 9:08 PM
I'd honestly feel more comfortable if that property were part of the pageswap and pagereveal events. The tight coupling between the View Transition API and the Navigation API might seem nice, but it's already a real pain in browsers that support the View Transition API but not the Navigation API.
January 15, 2025 at 10:47 PM
I'm using pageswap/pagereveal and I'm not getting any console errors whatsoever. There is no animation, so nothing shows up in the Animations Tab. It only animates when pressing back/forward. I use speculation rules for prerendering the page, I am not sure if those interfere with View Transitions. 🤷
November 25, 2024 at 8:50 PM
🦖 PageRevealEvent 🦖

https://developer.mozilla.org/en-US/docs/Web/API/PageRevealEvent

The PageRevealEvent event object is made available inside handler functions for the pagereveal event.

#webdev
PageRevealEvent
The PageRevealEvent event object is made available inside handler functions for the pagereveal event.
developer.mozilla.org
April 11, 2026 at 2:38 AM
Note that both dev servers inject scripts. I don't see any pagereveal listeners (others though...).
May 12, 2025 at 4:53 AM