在 .NET MAUI 中加载 PDF 时如何禁用 Web 视图中的“保存”和“另存为”选项

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

我正在实现一个 .NET MAUI 桌面应用程序,该应用程序从 Windows 中的本地文件夹读取文件,我不想让用户再次直接从应用程序保存文件。

有没有办法禁用使用 webview 标签附带的保存按钮?

供参考,这就是我的意思:

.net webview maui
2个回答
0
投票

您可以尝试调用一些 JavaScript 来删除按钮或设置它们的“display:hidden;”。 我们有一种方法来评估 JS 与 WebView.EvaluateJavaScriptAsync。 所以你可以写这样的东西:

await WebView.EvaluateJavaScriptAsync(
"""
// or any other JS function to get the elements, not sure what classes or IDs they have
let saveButton = document.getElementById('#save');
saveButton.style.display = 'none';
"""
)

我没有尝试过也没有运行过这个,但我认为它可以完成这项工作。


0
投票

问题在于,Widows“默认”PDF 查看器是一个成熟的沙盒插件。因此,与 HTML/JS 域重叠的是图标所在的顶部栏。您可以毫无问题地删除“保存和打印”图标,甚至可以通过将其关闭来疏远用户(在某些情况下,他们可以通过按 F8 再次打开它)。从而给您“虚假的希望”并且没有安全/荒谬的访问权限到真正的PDF内容。

在这里我们可以看到 PDF 自然是一个嵌入,来自网络缓存下载的内联重新加载,在浏览器编辑器沙箱中运行,因此 HTML 载体或其 JS 脚本无法访问。

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