Skip to content

iframe support - #5545

Open
martinmr wants to merge 3 commits into
DioxusLabs:mainfrom
trane-project:main
Open

iframe support#5545
martinmr wants to merge 3 commits into
DioxusLabs:mainfrom
trane-project:main

Conversation

@martinmr

@martinmr martinmr commented May 9, 2026

Copy link
Copy Markdown
Contributor

This PR contains fixes needed to better support iframes in Dioxus.

The first issue is that iframes are currently disabled in v0.7 to fix an issue with links not navigating to a browser. It appears that the existing code that is supposed to intercept clicks to external links in elements is not working consistently. This PR moves it further up the handleEvent function so that is executed regardless of the response of sending a serialized event. It also remove all the logic added in the rust side since it cannot handle both cases and this handling code already existed. It also removes the navigation handler that was recently introduced to attempt to fix the issue, as it's not the right approach.

In my local testing, both iframes and links work correctly. However, since @jkelleyrtp was seeing different behavior in the same version of macOS, it needs further testing. If this works, it should fix #5331. I also have never been able to reproduce the original issue with links navigating instead of opening a browser. I added a new playwright test and it's working and failing on the code before the change.

The second fix is to add a new config option that exposes the webview's with_initialization_script_for_main_only option in Dioxus. This is helpful to inject scripts (such as extensions) into the webview, including iframes. I am using this to work with Youtube's iframe along with a custom extension that allows directly manipulating the video element inside the iframe.

@martinmr
martinmr requested a review from a team as a code owner May 9, 2026 22:37
It appears that the code that is supposed to intercept clicks to external
links in <a> elements is not working consistently. Move it further up the
handleEvent function so that is executed regardless of the response of
sending a serialized event.

Also remove all the logic added in the rust side since it cannot handle both
cases and this handling code already existed. Also removed the navigation
handler that was recently introduced to attempt to fix the issue.

In my local testing, both iframes and links work correctly. However, since others
are seeing the same behavior in the same version of macOS, it needs further testing.
@martinmr martinmr changed the title Fix <a> and iframe navigation Iframe improvements Aug 27, 2026
@martinmr martinmr changed the title Iframe improvements iframe improvements Aug 27, 2026
@martinmr martinmr changed the title iframe improvements iframe support Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

iframes no longer working with v0.7

1 participant