Custom Scheme "app" is not working
Closed this issue · 4 comments
It just took me a while to find out that for RegisterCustomSchemeHandler
to work in current versions of edge one needs to use an allowed scheme. ("web+schemename" or one of the predefined schemes)
See https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler#permitted_schemes
This should be changed in samples and also be reflected in the documentation (and perhaps even raise a runtime error?).
To our knowledge this is not a problem. Would you mind sharing information about your setup, environment, OS, etc?
Are you using the stock samples or some custom project?
So we can try to replicate the issue you are mentioning.
I used the virtually unchanged Visual Studio Angular Template (see attached zipped project below). I do not get the "Dynamically inserted JavaScript" alert when using "app" as custom scheme. When changing "app" to "web+app" (both in Program.cs and index.html) it works!
Windows 11 Version 10.0.22621 Build 22621
WebView2 Runtime 114.0.1823.43
SampleProject.zip
I just tried again and it is working now for me as well. (Windows Update ran a few days ago and I now have a different WebView2 Runtime (114.0.1823.51), so this might have fixed it).
On the other hand the Spec is clear that one should only use the whitelisted schemes or web+ prefixed ones.
https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator-registerprotocolhandler
Therefore I will only use web+ prefixed Schemes.
Nonetheless thanks for looking into this.