- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 C# 开发一个 uwp 应用程序。我有一个需求,需要下载一个网站的资源,包括图片、脚本和html页面,以便离线显示。我把资源下载下来保存在本地文件夹下。但是,当我尝试访问它们时(从 javascript 脚本内部),UnsupportedUriSchemeIdentified 事件会触发。
这是一段使用资源的javascript代码
function startSth(sth,tracking){
sthAPI.SetSth(sth, tracking);
var sthUrl = sthBaseUrl + sth.Href;
if(sth.Parameters !== undefined && sth.Parameters !== null && sth.Parameters !== ""){
if(sth.Parameters.indexOf('?')===0) sth.Parameters = sth.Parameters.substring(1);
sthUrl += "?"+sth.Parameters;
}
if ( urlParams != "" )
{
sthUrl += (sthUrl.indexOf( '?' ) === -1) ? '?' : '&';
sthUrl += urlParams;
}
document.getElementById('mainFrame').src = sthUrl;
}
此代码尝试访问在本地存储中下载的 html 页面并将其设置为 IFrame 的源。 sthBaseUrl 变量早先从 c# 代码提供,类似于 ms-appdata:///local/folder/
根据我的理解,ms-appdata
方案是 UWP 支持的方案之一 WebView .我见过它用于导航到这样的内容的示例 webView1.Navigate("ms-appdata:///local/intro/welcome.html");
我不明白为什么会触发该事件。
javascript 不是我写的,它是一个更大更复杂系统的一部分,所以我没有直接控制权来更改它(没有非常有说服力的论据)。
有人知道绕过这个问题并让 javascript 从本地存储加载页面(和其他资源)的方法吗?
如果没有这种方式,如何修改javascript来实现呢?
这会触发 unsuppoertedUriSchemeIdentified 事件。
最佳答案
来自官方文档:
WebView supports navigation to URIs using these schemes:
http
,https
,ms-appx-web
, andms-local-stream
.
sthUrl
,而不是 webview 本身。这就是抛出此异常的地方 - 出于安全原因,您无法导航到可能不安全的内容。您不能混入来自不同文件夹的相同 (webview) 上下文文件。
Each of these first-level subfolders is isolated from the content in other first-level subfolders. For example, you can navigate to ms-appdata:///temp/folder1/file.html, but you can’t have a link in this file to ms-appdata:///temp/folder2/file.html.
最后考虑使用NavigateToLocalStreamUri
方法。它应该允许将本地缓存的内容包装到一个流中,您可以通过 ms-local-stream
协议(protocol)在 webview 中引用该流。这是一个good description关于如何在完全离线场景的 Web 应用程序模板中使用它。
关于javascript - ms-appdata 方案在 UWP WebView 中触发 UnsupportedUriSchemeIdentified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37574477/
介绍性示例 这段代码 Properties.Settings.Default.MyUserSettingBlah = "some new value"; Properties.Settings.Def
操作系统:Windows 为了使用 npx 创建 React 应用程序,我编写了以下命令: npx create-react-app myapp 它显示此错误: npm ERR! Could not
我正在尝试使用 CreateProcessA调用 %appdata% 下的应用程序目录。 例如,使用以下内容: CreateProcessA( NULL, "%appdata%\myfile.
我正在更新通过安装和部署项目安装的现有应用程序。 旧应用程序在安装过程中将配置和数据库文件复制到 Program Files 中的应用程序文件夹中。这在 Win 2000 和 Win Xp 上运行良好
我正在 JavaFX 中制作一个小游戏,我想要一个高分系统。因为我不太擅长数据库,所以我将数据写入文本文件。但很容易编辑,所以我想将其写入 AppData 中的文本文件。所以我尝试使用这一行: Fil
我有一个下载文件(jar 文件)的 java 程序。我想将其下载到用户的 appdata 文件夹中。我该怎么做?我试过这个: private static String myClient = Syst
我正在处理一个调用多个子函数(在同一个文件中)的复杂函数。为了传递数据, setappdata / getappdata 偶尔使用机制。此外,一些子功能包含 persistent变量(初始化一次以便稍
如何在 PowerShell 中获取应用程序数据目录的路径(例如 C:\Users\User\AppData\Roaming)? 最佳答案 这是最短路线: $env:APPDATA 或者对于本地应用数
我正在使用 html5/javascript 开发 Windows 应用商店应用程序。 我必须将图像从 src“ms-appdata://local/testimage.png”加载到 webview
首先,非常感谢您在过去六个月中为我找到了超过 3 个 Vbscript 的所有帮助,这些帮助挽救了我的生命。 我是 Vbscripting 的新手,我目前正在开发一个 Vbscript,它可以创建文件
我的项目是一个更大项目的插件。较大项目中的错误创建了一个文件,该文件将导致我的应用程序崩溃。他们已经意识到这个问题并正在解决它,但与此同时,唯一的解决方法是为每个用户删除 appdata 目录中的特定
这个问题在这里已经有了答案: C# getting the path of %AppData% (11 个答案) 关闭 8 年前。 如果我在 Windows 资源管理器中键入 %APPDATA%\S
我想在 %appdata% 文件夹中创建一个目录。这是我到目前为止所拥有的: public MainForm() { Directory.CreateDirectory(@"%appdata%
我的项目中有一个 Settings.cs 文件,我通过 从我的程序中访问其中的数据 Properties.Settings.Default.MyProperty 生成的设置文件存放在以下位置 C:\U
我想在路径 AppData/Roaming/test 中创建目录(如果不存在)。但是我的代码不起作用,我不知道为什么。你能帮帮我吗? string path; path
这个问题在这里已经有了答案: QML data folder (2 个答案) 关闭 8 年前。 在我的程序中,我有一个打开 getOpenFileName 对话框的按钮,如下所示: path = Q
在下载 (Java) 脚本中,您可以将位置设置为 %appdata%、%home% 等吗?我尝试以多种不同的方式添加此脚本,但我想到的都是错误。我是否需要事先启动 .bat 文件来设置目录、cd 以及
目前我正在制作一个 Minecraft 启动器,这是代码。 有一个 --gamedir 需要使用 appdata 但 %appdata% 将不起作用。我需要能够读取和写入它。 ProcessStart
我想开始一个新进程,但我需要它为 AppData 使用不同的文件夹。在 Windows 批处理文件中,您可以这样做: 设置 APPDATA=C:\MyDataFolder 它将为批处理文件中启动的任何
我查看了 SO 中的每个问题,但没有找到解决我的问题的方法。 我想像这样访问 Appdata 文件夹: Storagefolder foldertree = await StorageFol
我是一名优秀的程序员,十分优秀!