2016-11-16 4 views
7

का उपयोग करते समय Google क्रोम में काम नहीं कर रहा है मेरे ऐप में मुझे छवि को डिस्क पर सहेजने के लिए किसी छवि पर राइट-क्लिक करने की अनुमति देने की आवश्यकता है । हालांकि, मैंने देखा है कि मेरे विशेष कोड के साथ, Google क्रोम एकमात्र ब्राउज़र है जो उपयोगकर्ता को "छवि को इस रूप में सहेजें .." तक अनुमति नहीं देता है जब तक कि उपयोगकर्ता पहले Open image in new tab का चयन नहीं करता है और फिर वहां से Save image as.. चुनें।"छवि के रूप में सहेजें .." विंडो क्रोम() और document.write()

चूंकि अन्य सभी प्रमुख ब्राउज़रों (मोबाइल क्रोम सहित) अपेक्षित काम करते हैं, इसलिए मुझे यकीन नहीं है कि मैं अपने कोड को मानक/सही तरीके से लागू नहीं कर रहा हूं या यदि समस्या क्रोम के साथ है।

उदाहरण:

निम्न HTML मैं क्या कर रहा हूँ का एक नीचे छीन संस्करण है। यह आपको एक नई विंडो खोलने के लिए एक बटन पर क्लिक करने की अनुमति देगा जिसमें एक छवि होगी।

ऊपर वर्णित समस्या का परीक्षण/पुष्टि करने के लिए, छवि पर राइट-क्लिक करें और Save image as.. का चयन करें - आपको ध्यान रखना चाहिए कि कुछ भी नहीं होता है। हालांकि, अगर आप छवि पर राइट-क्लिक करें और Open image in new tab का चयन करें, तो आप वहां से Save image as.. पर सक्षम होंगे।

<html> 
<head> 
    <title></title> 
    <script> 
     function foo() { 
      var tab = window.open(); 
      tab.document.write('<p>Right-click, then click "Save image as ..."</p><img src="http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png" />'); 
     } 
    </script> 
</head> 
<body> 
    <button onclick="foo();">Open</button> 
</body> 
</html> 

यह एक समस्या क्रोम के साथ मैं है या एक और तरीका है कि मैं document.write() के साथ window.open() उपयोग कर सकते हैं (यानी बिना, पहले, Open image in new tab चुनें Chrome अन्य ब्राउज़र की तरह काम करने के लिए प्राप्त करने के लिए है।

उत्तर

6

एक ऐसा समाधान मिला जो काम करने लगता है। टैब को एक स्थान विशेषता है। मुझे यकीन नहीं है कि इसकी आवश्यकता क्यों है, लेकिन यह मेरे लिए क्रोम 48 पर काम करता है।

document.write('<html> 
<head> 
    <title></title> 
    <script> 
     function foo() { 
      var tab = window.open(); 
      tab.document.write('<p>Right-click, then click "Save image as ..."</p><img src="http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png" />'); 
      tab.document.location = "#"; 
     } 
    </script> 
</head> 
<body> 
    <button onclick="foo();">Open</button> 
</body> 
</html>'); 
+0

मुझे 'window.location सेट करना पड़ा। href = "#" 'तो यह मेरे लिए काम किया। मैं TypeScri का उपयोग कर रहा हूँ भा। – goflo

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