Native HTMLViewer and Windows 11

With Windows 11 right around the corner, I’ve been spending some time trying to clean up issues. The HTMLViewer set to native renderer, with <meta http-equiv="X-UA-Compatible" content="IE=edge" /> included in the rendered HTML, produces a very different result in 11 vs 10. I’m trying to figure out why and what Microsoft has changed. What control does HTMLViewer use behind the scenes? That would help me when searching for answers.

It should be WebBrowser Control (Internet Explorer) | Microsoft Docs

@William_Yu should be able to confirm.

Yes that’s correct.

Oh boy… well then I guess I’m going to switch to WebView2 using MBS.

Here’s a reminder about That WebBrowser control is deprecated, and under Windows 11 the native rendering really blows.

@Thom_McGrath, I’m making extensive use of the native HTMLViewer in windows 11, and have zero problems. Are you sure you are setting the Registry properly? See sample code

That’s just a hack. We need a real solution, as Thom mentioned.

Everyone should do that.
Let me know if something is missing.

Honestly, what’s missing is ease of use. If I’m targeting only Windows, it’s pretty easy. But since I need Mac too (and Linux in the future) I have to make sure both the HTMLViewer and WebView2 exist on the window at the same time, and swap them based on compatibility. It’s definitely possible, but annoying.

If I had one control that used the best available platform-specific control on each platform, I’d be using that in a heartbeat. That’s what HTMLViewer should be.

I know that’s not really what MBS does though, so this isn’t a complaint.

1 Like

But your claim that windows 11 behaves differently from 10: I’m not seeing it.

I think there are two separate issues:

  • Thom is saying that the native (IE11 based) HTMLViewer in windows 11 isn’t working like it did in windows 10. (I don’t see any evidence of this in my testing)
  • Xojo should support the new WebView2 (which is based on the Edge/Chromium rendering engine). See