gpt4 book ai didi

javascript - 在 WebView 中从 JavaScript 本地保存文件

转载 作者:行者123 更新时间:2023-12-03 11:52:07 25 4
gpt4 key购买 nike

好的,这是大局:

  • 我们有一个原生 Cocoa/OSX 应用
  • 此应用内有一个 WebView
  • 在此 WebView 内,有一个本地 Web 应用,其代码驻留在应用的捆绑资源中

现在,事情是:

  • 假设我想从网络应用程序中保存文件(使用 JS),这可能吗?怎么办?
  • 我是否必须将内容“转发”回 Objective-C/Cocoa 并让“真正的”应用程序进行保存?
  • 如果第一点是可能的(从JS保存),那么沙盒呢?该如何处理?

最佳答案

您可以通过使用 WebPolicyDelegate 拦截对 WebView 内链接的点击,将文件保存在 Cocoa 端。我在一个项目中使用以下委托(delegate)方法完成了此任务:

- (void)webView:(WebView *)sender
decidePolicyForNavigationAction:(NSDictionary *)actionInformation
request:(NSURLRequest *)request frame:(WebFrame *)frame
decisionListener:(id<WebPolicyDecisionListener>)listener

说到沙箱,这实际上取决于您要如何处理该文件。如果我没记错的话,您可以轻松地将文件保存在沙箱中(例如 NSApplicationSupportDirectory),并且如果您显示文件对话框,沙箱将自动处理。

关于javascript - 在 WebView 中从 JavaScript 本地保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25781417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com