MAUI WebView 控件和 CORS

问题描述 投票:0回答:1

尝试使用 WebView 控件编写 MAUI 应用程序,以便我可以教学生如何解决复杂的数学问题。我选择使用 MathML,因为它支持大多数数学符号,包括根据需要自动调整其大小。我还使用 w3c 编写的 MathML polyfill 来修复问题。

该应用程序在 Windows 中运行,但在 Android 中我收到以下错误:

[chromium] [INFO:CONSOLE(641)] “从原点“null”访问“file:///android_asset/mathml-polyfills-main/all-polyfills.js”处的脚本已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome、https、chrome-untrusted。”,来源:file:///android_asset/mathml-polyfills-main/acid-test.html(641) .

我了解 CORS 是什么,但所有 JavsScript 文件都在应用程序中。没有外部请求。我在网上搜索了解决 CORS 问题的方法。如果有办法的话,我想我不想禁用它。人工智能。说 setAllowFileAccessFromFileURLs 属性在 API 级别 30 中已被弃用。我相信 Webview.settings 和 ms-appx-web 是 WinUI 功能。人工智能。建议 webview.settings 但我不知道该代码放在哪里。列出的方案之一是数据,但用于嵌入文件。要使用其他方案,需要 Web 服务器。我真的需要在我的 Android MAUI 应用程序上设置 Web 服务器吗?如果需要的话,如何设置?

我尝试过的:

无法将 WebView 与 Windows 上存储为 MauiAssets 的本地文件一起使用 · 问题 #16646 · dotnet/maui · GitHub

在 WebView (CORS) 中允许本地文件(PWA 应用程序)·问题 #8380·dotnet/maui·GitHub

c# - 无法将本地 javascript 文件加载到 webview 中 - 堆栈内存溢出

c# - 无法将本地 javascript 文件加载到 webview 中 - 堆栈内存溢出

WebView - .NET MAUI |微软学习

javascript - 从源“null”访问“文件”中的脚本已被 CORS 策略阻止 - 堆栈内存溢出

From origin 'null' 已被 CORS 策略阻止:跨源请求错误 - JavaScript - freeCodeCamp 论坛

下面是 MathML polyfill 和我在 GitHub 上发布的应用程序的链接。我的应用程序已经包含所有的 polyfill。我希望我忽略了一些愚蠢的事情,尽管我读过的一篇文章说这是一个错误。

我确实以客户身份从 GitHub 下载了源代码。它确实在 Windows 下编译并运行。它在 Android 下编译,但我确实收到了 CORS 错误。我正在运行 VS 2022,毛伊岛 8。

w3c/mathml-polyfills:MathML 功能的 Polyfills (github.com)

mthanson8333/MathML:将 MathML 与 MAUI WebView 控件结合使用 (github.com)

在您的 App.xaml.cs 构造函数中添加自定义 WebViewHandler:

webview maui mathml
1个回答
0
投票

另请参阅:

https://learn.microsoft.com/en-us/answers/questions/1373758/how-can-i-display-a-pdf-file-in-maui

© www.soinside.com 2019 - 2024. All rights reserved.