2008-10-21 11 views
6

मेरे पास एक एएसपी.Net एप्लिकेशन है जो वांछित सुविधा के रूप में, उपयोगकर्ता स्क्रीनशॉट लेने में सक्षम होना चाहते हैं। जबकि मुझे पता है कि यह अनुकरण किया जा सकता है, तो यूआरएल (या वर्तमान प्रस्तुत पृष्ठ) लेने का कोई तरीका है, और इसे उस छवि में बदल दें जो सर्वर पर संग्रहीत किया जा सके।एएसपी.Net का उपयोग करना, क्या ब्राउज़र सामग्री का स्क्रीनशॉट लेने का एक प्रोग्रामेटिक तरीका है?

क्या यह पागल है? क्या इसे करने का कोई तरीका है? यदि हां, तो कोई संदर्भ?

+0

यह पागल नहीं है, यह बुराई और कपटी है। मैं नहीं चाहता कि आप जान सकें कि मैं क्या ब्राउज़ कर रहा हूं! –

+0

मुझे लगता है कि आपको फ़िज़ोम उत्तर स्वीकार करना चाहिए, और एक और अधिक विशिष्ट प्रश्न (अपना ब्राउज़र लक्ष्य, इत्यादि) बनाना, एएसपी.नेट टैग को घटाएं। – Salamander2007

+0

मैं एएसपी.NET संदर्भों को हटाने की सलाह देता हूं। मुझे लगता है कि असली सवाल यह है कि क्या * कुछ भी * जो भी आप चाहते हैं वह करने के लिए मौजूद है। यदि आपको कुछ ऐसा काम मिल गया जो आप काम करते हैं, तो आप इसे हमेशा जो भी ढांचा उपयोग करते हैं उसे ले जा सकते हैं। – phyzome

उत्तर

6

मैं आपको अभी बता सकता हूं कि ब्राउज़र के अंदर से ऐसा करने का कोई तरीका नहीं है, और न ही होना चाहिए। कल्पना करें कि आपका पृष्ठ जीमेल को आईफ्रेम में एम्बेड करता है। फिर आप व्यक्ति के जीमेल इनबॉक्स का स्क्रीनशॉट चुरा सकते हैं!

यह ब्राउज़र को "ब्लैक आउट" सभी आइफ्रेम और एम्बेड करके सुरक्षित किया जा सकता है जो क्रॉस-डोमेन प्रतिबंधों का उल्लंघन करेंगे।

आप निश्चित रूप से ऐसा करने के लिए एक एक्सटेंशन लिख सकते हैं, लेकिन ऊपर उल्लिखित सुरक्षा विचारों से अवगत रहें।

अद्यतन: आप अपने कोड के रूप में एक ही मूल पर एक पृष्ठ का एक स्क्रीनशॉट पाने के लिए एक कैनवास उपयोगिता फ़ंक्शन का उपयोग कर सकते हैं। यहां तक ​​कि आप ऐसा करने की अनुमति के लिए एक lib है: http://experiments.hertzen.com/jsfeedback/

आप यहाँ अन्य संभावित जवाब पा सकते हैं: Using HTML5/Canvas/JavaScript to take screenshots

+0

ठीक है, ब्राउज़र के लिए स्नैग-इट जैसे ब्राउज़र के बारे में कैसे, जो चित्र को कैप्चर कर सकता है, और इसे सहेज सकता है या इसे किसी साइट पर पोस्ट कर सकता है? क्या यह संभव है? – pearcewg

+0

आप फ़ायरफ़ॉक्स के लिए अपहरण एक्सटेंशन को प्रेरणा के रूप में देख सकते हैं। मुझे नहीं लगता कि आपको तैयार-तैयार कुछ भी मिल जाएगा, हालांकि, अकेले क्रॉस-प्लेटफॉर्म को छोड़ दें। – phyzome

3

Browsershots में एक एक्सएमएल-आरपीसी इंटरफ़ेस और उपलब्ध स्रोत कोड (पायथन में) है।

1

आप एक ऐसे ब्राउज़र जिसे आप अपने वर्तमान का एक स्क्रीनशॉट को बचाने के लिए अनुमति देता है इंटरनेट एक्सप्लोरर के लिए IE7 Pro तरह प्लगइन की कोशिश कर सकते डिस्क पर एक फ़ाइल के लिए साइट। मुझे यकीन है कि फ़ायरफ़ॉक्स के लिए भी एक तुलनीय प्लगइन है।

3

मैंने मुफ्त असेंबली UrlScreenshot.dll का उपयोग किया जिसे आप here डाउनलोड कर सकते हैं।

अच्छी तरह से काम करता है!

WebSiteScreenShot भी है लेकिन यह मुफ़्त नहीं है।

1

यदि आप वर्णन की तरह कुछ करना चाहते हैं। आपको बाहरी प्रक्रिया को कॉल करने की आवश्यकता है जो आईई आउटपुट को here वर्णित करता है।

1

आप एक और दृष्टिकोण क्यों नहीं लेते?

यदि आपको आवश्यकता है कि उपयोगकर्ता एक ही सामग्री को दोबारा देख सकें, तो ऐसा लगता है कि यह आपके आवेदन के लिए एक व्यावसायिक आवश्यकता है, और इसलिए आपको इसे अपने आवेदन में बनाना चाहिए।

यूआरएल का ढांचा ताकि जब एक ही उपयोगकर्ता (मान लें कि आपके पास सत्र हैं और एप्लिकेशन अलग-अलग उपयोगकर्ताओं को अलग-अलग चीजें दिखाता है) उसी यूआरएल पर जाता है, वे हमेशा एक ही चीज़ देखते हैं। फिर वे स्थानीय रूप से यूआरएल को बुकमार्क कर सकते हैं, या आपके पास एक एप्लिकेशन फीचर भी हो सकती है जो इसे उपयोगकर्ता प्रोफाइल में सहेजती है।

इसका एक हिस्सा "साफ यूआरएल" बनाना होगा, उदाहरण के लिए, site.com/view/whatever-Information-needed-here।

यदि आप समय-आधारित डेटा कर रहे हैं, जहां यह बड़ा हो जाता है, तो यह संभवतः कुछ संभावित दृष्टिकोण हैं।

  • यदि आपका डेटा नियमित आधार पर नहीं बदल रहा है, तो आप हमेशा "वर्तमान" पृष्ठ बना सकते हैं, उदाहरण के लिए, साइट.com/view/2008-10-20 (उपयुक्त/घंटा/सेकंड जोड़ें)।
  • यदि यह रीफ्रेशिंग है, और/या नियमित रूप से अपडेट हो रहा है, तो "वर्तमान" पृष्ठ साइट.com/view के रूप में है .. लेकिन बाद में सटीक समय निर्दिष्ट करने की अनुमति दें। इस मामले में, आपको "इस पृष्ठ से लिंक" प्रकार का फ़ंक्शन होना होगा, जो पूर्ण दिनांक/समय के साथ स्थायी URL से लिंक होगा। यहां प्रेरणा के लिए Google मानचित्र देखें - यदि आप किसी मानचित्र पर स्क्रॉल करते हैं, तो आप हमेशा "यहां से लिंक" पर क्लिक कर सकते हैं और यह एक लिंक प्रदान करेगा जिसमें जीपीएस निर्देशांक, मानचित्र पर ऑब्जेक्ट्स इत्यादि शामिल हैं। उस स्थिति में यह एक नहीं है बहुत दोस्ताना यूआरएल लेकिन यह काफी अच्छी तरह से काम करता है। :)
संबंधित मुद्दे

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