2012-04-18 10 views
5

मैंने एक साधारण ड्रैग और ड्रॉप लागू किया। उपयोगकर्ताओं का उद्देश्य ब्राउज़र से छवियों को खींचने और छोड़ने का मुख्य उद्देश्य है। क्या मेरे लिए यह यूआरएल प्राप्त करना संभव है कि इस छवि को खींचा गया हो?खींचें और छोड़ें - क्या यूआरएल प्राप्त करना संभव है?

तो मान लें, मैं SO पर हूं और मैं लोगो खींच और छोड़ देता हूं। क्या मुझे यह जानने का कोई तरीका है कि यह http://stackoverflow.com से था? धन्यवाद

+0

अच्छा सवाल है, लेकिन मुझे संदेह है कि यदि आपको आने वाले ड्रैग में कोई यूआरएल दिखाई नहीं देता है, तो ब्राउज़र से पूछताछ करने का कोई तरीका नहीं होगा कि वह छवि कहां से आई थी। यह ऐसा कुछ है जो प्रत्येक ब्राउज़र निर्माता (सफारी, फ़ायरफ़ॉक्स, क्रोम, इत्यादि) को उनके ड्रैग कार्यान्वयन में प्रदान करना होगा। शायद रडार (सफारी के लिए) और बगजिला (फ़ायरफ़ॉक्स के लिए) में फ़ाइल वृद्धि अनुरोध? –

+0

इनपुट के लिए धन्यवाद। क्या यह जानना कम से कम संभव है कि ड्रैग किस ऐप से आया था? – 0xSina

+0

नहीं, यह नहीं है। यह खींचने की जानकारी के हिस्से के रूप में पारित नहीं किया गया है। –

उत्तर

5

उन छवियों के लिए जो लिंक भी नहीं हैं, निम्न कोड यूआरएल को लॉग इन करेगा जो एक खींची गई छवि से आया था। यह सफारी & फ़ायरफ़ॉक्स में मेरे लिए काम करता है।

@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 

यदि छवि भी एक लिंक है, तो लॉग इन यूआरएल उस लिंक का एक href है। विस्तारित विशेषताओं के kMDItemWhereFroms कुंजी का उपयोग करके फ़ाइल से "कहां से" URL (जैसा कि खोजक के गेट इन्फो पैनल में देखा गया है) प्राप्त करना भी संभव है।

+0

धन्यवाद, लेकिन यह वह नहीं है जिसे मैं ढूंढ रहा था। – 0xSina

+0

आप क्या देख रहे थे? – mrwalker

+0

मुझे छवि का यूआरएल नहीं चाहिए। मैं वेबपेज का यूआरएल चाहता हूं इसे – 0xSina