क्रोम वेब स्टोर पर रहते हुए मैं html-button के साथ टैब क्यों नहीं खोल सकता?


11

मुझे अलग-अलग बटन के साथ मेरे फ्रंट में एक पेज मिला है, सभी बटन, अपने दम पर, पूरी तरह से काम करते हैं, लेकिन अगर मैं क्रोम वेब स्टोर में एक्सटेंशन खोलने वाले बटन पर क्लिक करता हूं और बाद में किसी अन्य बटन पर क्लिक करता हूं, तो पेज नहीं खुलता है ।

यहाँ मैं किस बारे में बात कर रहा हूँ का एक उदाहरण है। यदि आप खुलने वाले टैब को बंद किए बिना बटन क्लिक करते हैं, तो क्रोम वेब स्टोर के खुलने के बाद आप जिस बटन पर क्लिक करते हैं, उसका प्रभाव नहीं होगा। क्या कोई जानता है कि ऐसा क्यों है और उसके आसपास कैसे काम करना है?

https://html-ichr7r.stackblitz.io

यहाँ इसके लिए कोड है।

<button id="button1" onclick="window.open('https://www.facebook.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="window.open('https://www.google.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>

<button id="button3" onclick="window.open('https://chrome.google.com/webstore/detail/dark-mode/dmghijelimhndkbmpgbldicpogfkceaj?hl=de','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="window.open('https://www.9gag.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>

किसी भी मदद की सराहना की है!

संपादित करें : मुझे अभी पता चला है कि यह फ़ायरफ़ॉक्स में काम करता है, फिर भी पता नहीं क्यों यह क्रोम में काम नहीं करता है।


यह बहुत अजीब है। मुझे लगता है कि सभी क्रोम किसी न किसी कारण से विंडो ऑब्जेक्ट अपहरण कर रहे होंगे। यदि आप इसे हल करने में सक्षम नहीं हैं, तो शायद आपको क्रोमियम पर एक टिकट बनाना चाहिए
0_0

जवाबों:


2

मेरे पास कुछ हल है: आपके Google वेबस्टोर लिंक के popupलिए कुछ और की तरह बदलने के लिए popupWindow, इसलिए आपके पास होगा:

<button id="button1" onclick="window.open('https://www.facebook.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="window.open('https://www.google.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>

<button id="button3" onclick="window.open('https://chrome.google.com/webstore/detail/dark-mode/dmghijelimhndkbmpgbldicpogfkceaj?hl=de','popupWindow','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="window.open('https://www.9gag.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>

इस कोड के साथ आपके पास वास्तव में दो अलग-अलग पॉपअप होंगे।

स्पष्टीकरण के बारे में, मैं इस एक के साथ अंधेरे में थोड़ा सा हूं। मुझे लगता है कि Chrome https://chrome.google.com/webstore/*सुरक्षा उपाय के रूप में JS को निष्पादित करने से रोक रहा है । आप यहां और यहां इसी तरह के मुद्दों के बारे में अधिक पढ़ सकते हैं ।

इसके अलावा ( इसके बारे में कुछ विचार रखने के बाद):

यह शायद क्रोम के डेवलपर्स द्वारा एक स्मार्ट कदम है। किसी भी जेएस को किसी भी पेज को बदलने की अनुमति नहीं देने से https://chrome.google.com/webstore/, उन्हें यकीन है कि कोई एक्सटेंशन भी संभवतः इस पेज को बदल नहीं सकता है। यदि आप कोई एक्सटेंशन स्थापित करते हैं, तो उसे बेतरतीब ढंग से विज्ञापित करें, तो यह एक सकारात्मक स्कोर प्राप्त करेगा, जबकि यह एक्सटेंशन वेबस्टोर के पृष्ठ को भी बदल देता है। यह उपयोगकर्ताओं को अतिरिक्त (हैकी / एडवेयर-ईश) एक्सटेंशन या सॉफ़्टवेयर स्थापित करने में धोखा दे सकता है जो उपयोगकर्ताओं के ब्राउज़र या कंप्यूटर को संक्रमित करेगा।


हां, इसे नए टैब में खोलने से काम ठीक हो जाता है। हो सकता है कि क्रोम वेबस्टोर को Google Chrome के लिए किसी प्रकार के इंवेट-एपस्टोर के रूप में देखा जाए और इसीलिए यह अलग तरह से व्यवहार करता है? वास्तव में अजीब सामान।
कुकुस्सनेर

मुझे विश्वास है कि यह सुरक्षा कारणों से किया गया है। मैंने अपने उत्तर के लिए संभावित तर्क जोड़ दिए हैं।
डर्क जे। फेबर

0

मुझे यह भी समझ में नहीं आता कि ऐसा क्यों होता है, लेकिन मेरे पास एक तरीका यह है।

  function openWindow(url, type){
    var demo = window.open(url,'popup','width=700,height=300')
      demo.window.close();
        window.open(url,'popup','width=700,height=300')
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="button1" onclick="openWindow('https://www.facebook.com/login')"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="openWindow('https://www.google.com/')"><strong>CONTINUAR</strong></button>

<button id="button3" onclick="openWindow('https://chrome.google.com/webstore/')"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="openWindow('https://www.9gag.com/')"><strong>CONTINUAR</strong></button>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.