2017-07-21 1 views
0

私のアプリケーションは、クリップボードから貼り付けられたHTMLまたはブラウザからドラッグされたHTMLを受け入れます。NSPasteboard、htmlコンテンツのURLを取得する方法

私は正常にHTML(フラグメント)を取得することができる午前:

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; 

    NSString* nstext = [pasteboard stringForType:NSPasteboardTypeHTML]; 

をしかし、ソースドキュメントのURLを取得する方法の見当がつかない。

はこの試みた:

NSLog(@"url: %@", [NSURL URLFromPasteboard:pasteboard]); 

が、運を - それはurl: nilを報告します。

原則は可能ですか?

Windowsの場合、そのURLはCF_HTMLクリップボード形式のフィールドの1つから取得できます。

答えて

1

これは私の仕事です。エラーチェックなど簡潔に省略:

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; 
NSData *data = [pasteboard dataForType:@"Apple Web Archive pasteboard type"]; 
NSDictionary *plist = [NSPropertyListSerialization propertyListWithData:data 
                   options:NSPropertyListImmutable 
                   format:NULL 
                    error:nil]; 

NSDictionary *values = [plist objectForKey:@"WebMainResource"]; 
NSString *url = [values objectForKey:@"WebResourceURL"]; 
+0

ありがとう、本当に助けてくれた! –

関連する問題