在 UWP Web 视图中使用 javascript 访问本地文件

Access to local file with javascript in UWP webview

本文关键字:访问 javascript 文件 UWP Web 视图      更新时间:2023-09-26

我正在尝试在webview中运行javascript OpenLayersin UWP(C#)应用程序。我需要读取本地 .osm 文件。

JS代码的开头是:

var map = new ol.Map({
        target: 'map',
        layers: [
            new ol.layer.Vector({
                source: new ol.source.Vector({
                    url: 'example.osm',
                    format: new ol.format.OSMXML(),

在带有 url 的行中:"example.osm"我设置了 .osm 文件的来源。

该代码在Firefox中有效,但在Edge或Chrome中不起作用。所以我认为同样的问题将出现在UWP webview和Edge上。

有什么办法可以做到吗?

你不能使用 file://协议加载本地文件,因为允许 javascript 从文件系统中加载任意内容是有风险的。您必须从网络服务器运行它。

如果这只是供您个人使用,您可以在本地计算机上安装Web服务器。一个轻量级的易于安装的网络服务器,我推荐Chrome的Web服务器。否则,通常的嫌疑人应该足够了(apache,node,IIS等)

如果您需要将应用程序

分发给其他人,我会研究将Web应用程序捆绑到桌面应用程序的产品。我不是这个领域的专家,但其中一种产品是电子