2012-12-11 27 views
9

You can capture an image। मैं यह समझने की कोशिश कर रहा हूं कि टेक्स्ट कैप्चर कैसे करें। मुझे लगता है कि सुरक्षा कारणों से नहीं है, लेकिन मैं यह सुनिश्चित करना चाहता था।क्रोम में, विंडो का उपयोग कर। क्लिपबोर्ड ऑब्जेक्ट, क्या चिपका हुआ टेक्स्ट कैप्चर करने का कोई तरीका है?

इसके अलावा इस चीज के लिए एक संदर्भ है? window.Clipboard वस्तु, वी 8 इंजन का हिस्सा नहीं है यह क्रोम ब्राउज़र का एक हिस्सा है और मैं इसके लिए आधिकारिक दस्तावेज नहीं मिल रहा।

+2

यहाँ क्लिपबोर्ड आइटम आप के साथ काम कर रहे हैं के लिए चश्मा हैं /2011/WD-html5-20110113/dnd.html#the-datatransferitem-interface। – pimvdb

उत्तर

13

कोड में आप जुड़े हुए निम्नलिखित के साथ एक pasteHandler समारोह है:

// Get the items from the clipboard 
     var items = e.clipboardData.items; 
     if (items) { 
      // Loop through all items, looking for any kind of image 
      for (var i = 0; i < items.length; i++) { 
       if (items[i].type.indexOf("image") !== -1) { 
        // We need to represent the image as a file, 
        var blob = items[i].getAsFile(); 
        // and use a URL or webkitURL (whichever is available to the browser) 
        // to create a temporary URL to the object 
        var URLObj = window.URL || window.webkitURL; 
        var source = URLObj.createObjectURL(blob); 

        // The URL can then be used as the source of an image 
        createImage(source); 
       } 
      } 
     } 

Chrome डेवलपर फ्रेम कह रहा है कि आइटम [i] एक DataTransferItem(reference)

संदर्भ पृष्ठ मैं देख रहा हूँ पर है kind संपत्ति और getAsString() विधि। उत्तरार्द्ध को एक कॉलबैक फ़ंक्शन की आवश्यकता होती है जो पाठ को पैरामीटर के रूप में प्राप्त करता है। इसलिए उपरोक्त स्क्रिप्ट का उपयोग कर पाठ मानों का प्रबंधन कैसे आप खंड मैं के रूप में जुड़े हुए संशोधित हो सकता है इस प्रकार है: http://www.w3.org/TR:

// Get the items from the clipboard 
     var items = e.clipboardData.items; 
     if (items) { 
      // Loop through all items, looking for any kind of image 
      for (var i = 0; i < items.length; i++) { 
       if (items[i].type.indexOf("image") !== -1) { 
        // We need to represent the image as a file, 
        var blob = items[i].getAsFile(); 
        // and use a URL or webkitURL (whichever is available to the browser) 
        // to create a temporary URL to the object 
        var URLObj = window.URL || window.webkitURL; 
        var source = URLObj.createObjectURL(blob); 

        // The URL can then be used as the source of an image 
        createImage(source); 
       } 
       if (items[i].kind === "string"){ 
        items[i].getAsString(function(s) { 
         alert(s); 
        }); 
       } 
      } 
     } 
+1

+1 मैं बस इसे बाहर बहुत ही रास्ता मिल गया :) यहाँ एक डेमो है: http://jsfiddle.net/8kEAF/1/। – pimvdb

+0

बस कोशिश की। यह काम करता हैं। आपका बहुत बहुत धन्यवाद। – user1895546

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^