2014-09-11 17 views
0

OK,這裏的大圖片:中的WebView從JavaScript文件保存在本地

  • 我們有一個天然的可可/ OSX應用
  • 這裏面的應用程序存在的WebView
  • 這裏面的WebView,有本地Web應用程序,其代碼駐留在應用程序的包資源現在

,事情是:

  • 比方說,我想保存一個文件從Web應用程序(使用JS),這可能嗎?如何?我是否需要將內容「轉發」回Objective-C/Cocoa並讓「真實」應用程序進行保存?
  • 如果第一點是可能的(從JS保存),沙盒呢?這是如何處理的?
+0

分享你的研究可以幫助每個人。告訴我們你試過了什麼,以及它爲什麼不符合你的需求。這表明你已經花時間去嘗試幫助自己,它使我們避免重申明顯的答案,最重要的是它可以幫助你得到更具體和相關的答案!另見[如何問](http://stackoverflow.com/questions/how-to-ask) – Cerbrus 2014-09-11 07:20:44

+0

@Cerbrus那麼,我的研究沒有提出任何東西。 Webview(特別是其OSX特定的處理)似乎沒有太多的以下內容。這就是爲什麼我決定看看其他人是否曾經處理過同樣的問題,在這裏。 – 2014-09-11 07:29:55

回答

1

您可以使用WebPolicyDelegate攔截WebView內部鏈接上的點擊,將文件保存在Cocoa端。我在使用下面的委託方法的一個項目做到了這一點:

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

當談到沙盒,它實際上取決於你會用那個文件該怎麼辦。 如果我沒有弄錯,您可以輕鬆地將文件保存在沙盒中(例如NSApplicationSupportDirectory),並且如果您正在呈現文件對話框,沙箱將自動處理。

+0

太棒了!非常感謝! ;-) – 2014-09-11 10:45:40