我有一个 Blazor 混合应用程序 (.NET 8),其中一个组件中有一个 iframe。 在 Android 上,iframe 中的所有内容都工作正常;然而,在 iOS 上,该网站是从外部加载的。
我通过设置 UrlLoading 事件(如下)解决了该问题。
private void BlazorWebView_UrlLoading(object? sender, Microsoft.AspNetCore.Components.WebView.UrlLoadingEventArgs e)
{
e.UrlLoadingStrategy = Microsoft.AspNetCore.Components.WebView.UrlLoadingStrategy.OpenInWebView;
}
这使得网站现在可以在 iOS 的 WebView 中正确加载,但现在我遇到了另一个问题。 看来 iframe 中没有加载/运行任何脚本,但我可以看到初始页面内容。 如果我在常规 WebView 中进行与测试相同的操作,则一切正常。 这让我认为这一定是 BlazorWebView 正在更改的某些可以设置的设置或配置。 这里有什么想法吗?谢谢。
iframe 中似乎没有加载/运行任何脚本,但我可以看到初始页面内容。如果我在常规 WebView 中进行与测试相同的操作,一切都会正常工作。
关于此错误,您可以在 MAUI GitHub 上查看这些问题:MAUI Blazor Hybrid App 无法加载某些 IFrames #20091 | 能够更改baseurl #11425。您可以在上面报告您的情况并跟踪此问题。