1.?self.webView.UIDelegate = self;
2. 實(shí)現(xiàn)代理在本地打開NSOpenPanel昙读,并將解決回調(diào)回去
- (void)webView:(WKWebView*)webView runOpenPanelWithParameters:(WKOpenPanelParameters*)parameters initiatedByFrame:(WKFrameInfo*)frame completionHandler:(void(^)(NSArray *_NullableURLs))completionHandler{
? ? NSOpenPanel* panel = [NSOpenPanel openPanel];
? ? if(@available(macOS10.12, *)){
? ? ? ? panel.allowsMultipleSelection = parameters.allowsMultipleSelection;
? ? }else{
? ? ? ? [panelsetAllowsMultipleSelection:NO];? //是否允許多選file
? ? }
? ? if(@available(macOS10.13.4, *)){
? ? ? ? panel.canChooseDirectories = parameters.allowsDirectories;
? ? }else{
? ? ? ? panel.canChooseDirectories=NO;? //是否允許選目錄
? ? }
? ? panel.allowedFileTypes = @[@"png", @"jpg", @"BMP", @"TIFF"];//圖片類型
? ? NSModalResponseresult = [panelrunModal];
? ? if(result ==NSModalResponseOK){
? ? ? ? completionHandler([panelURLs]);
? ? }else{
? ? ? ? completionHandler(nil);
? ? }
//? ? [panel beginWithCompletionHandler:^(NSModalResponse result) {
//? ? ? ? if (result == NSModalResponseOK) {
//? ? ? ? ? ? completionHandler([panel URLs]);
//? ? ? ? }
//? ? }];
}