シンプルなドラッグ アンド ドロップを実装しました。主な目的は、ユーザーがブラウザから画像をドラッグ アンド ドロップすることです。この画像のドラッグ元の URL を取得することはできますか?
たとえば、私は SO を使用していて、ロゴをドラッグ アンド ドロップします。これがhttp://stackoverflow.comからのものであることを知る方法はありますか? ありがとう
シンプルなドラッグ アンド ドロップを実装しました。主な目的は、ユーザーがブラウザから画像をドラッグ アンド ドロップすることです。この画像のドラッグ元の URL を取得することはできますか?
たとえば、私は SO を使用していて、ロゴをドラッグ アンド ドロップします。これがhttp://stackoverflow.comからのものであることを知る方法はありますか? ありがとう
リンクでもない画像の場合、次のコードは、ドラッグされた画像の元の URL をログに記録します。これは、Safari と Firefox で機能します。
@implementation DragView
- (void)awakeFromNib {
[self registerForDraggedTypes:[NSArray arrayWithObject:NSURLPboardType]];
}
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender {
return NSDragOperationCopy;
}
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender {
NSPasteboard *pboard;
pboard = [sender draggingPasteboard];
NSLog(@"types: %@", [pboard types]);
NSLog(@"url: %@", [NSURL URLFromPasteboard:pboard]);
return YES;
}
@end
画像がリンクでもある場合、ログに記録される URL はそのリンクの href です。拡張属性の kMDItemWhereFroms キーを使用して、(Finder の [Get Info] パネルに表示されるように) ファイルから "where from" URL を取得することもできます。