aspnetcore icon indicating copy to clipboard operation
aspnetcore copied to clipboard

[Hot Reload] Enable hot reloading for Blazor inside an iframe

Open jsakamoto opened this issue 1 year ago • 2 comments
trafficstars

Description

Hot Reload on a Blazor app doesn't work inside an iframe. See the attached video and sample code.

https://github.com/dotnet/sdk/assets/95908/6246ee11-c28a-471b-82d3-0218b1a15605

Sample code: 📦BlazorWasmApp1.zip

The solution I'd like

I know this is intentional by design, as mentioned in the pull request: https://github.com/dotnet/sdk/pull/21954. However, some edge cases exist where hot reloading support inside an iframe is essential. For instance, the clone of Storybook for Blazor, "Blazing Story" (https://github.com/jsakamoto/BlazingStory), requires such ability because it has to host a preview of the story using an iframe.

image

Therefore, I hope we have a public "escape hatch" API allowing developers to explicitly enable hot reloading inside an iframe for such a particular scenario.

jsakamoto avatar Mar 01 '24 12:03 jsakamoto

Related Feature Requests

See also: #39153 [Hot Reload] Enable Blazor hot reloading for multiple browser windows at the same time

The ability above is also required for the hot reloading on the "Blazing Story".

jsakamoto avatar Mar 02 '24 08:03 jsakamoto

We might be able to address this in one of two ways:

  1. Update this line to include the "frame" and "iframe" values for the Sec-Fetch-Dest header.
  2. Address this as part of https://github.com/dotnet/aspnetcore/issues/45213

MackinnonBuck avatar Mar 11 '24 16:03 MackinnonBuck