2013-03-21 4 views
7

Google क्रोम आजकल थोड़ा अजीब है कि v25 में अब 302 रीडायरेक्ट हेडर का सम्मान नहीं करता है और पेज रीफ्रेश पर खुशी से फॉर्म पोस्ट डेटा फिर से पोस्ट करता है, जबकि v24 और अन्य सभी ब्राउज़र अच्छी तरह से खेलते हैं। मुझे यकीन नहीं है कि यह सिर्फ एक अस्थायी ब्राउज़र बग है, तो मुझे उस रहस्य का वर्णन करने दें जो मैं हल करने की कोशिश कर रहा हूं।Google क्रोम का पॉपअप अवरोधक एक लिंक या किसी अन्य टैग में लिंक को क्यों शूट करता है?

जहां तक ​​मुझे पता है कि आप HTML या जावास्क्रिप्ट का उपयोग करके एक टैब नहीं खोल सकते हैं, लेकिन स्पष्ट रूप से सेट आयामों के बिना एक नई विंडो डिफ़ॉल्ट रूप से एक टैब के रूप में खुलने जा रही है। इस

सबसे पहले मैं कोशिश की है:

<a href="URL" onclick="window.open(this.href);return false"> 
    <img src="NICE IMAGE" alt="foo"> 
</a> 

यह हर जगह काम कर रहा था, क्रोम, जहां यह एक अनधिकृत पॉप अप विंडो के रूप में मार गिराया गया में छोड़कर। दिलचस्प बात यह है कि कभी-कभी जब मैंने उस पर क्लिक करना जारी रखा, क्रोम ने अपना दिमाग बदल दिया है और लिंक को वैसे भी खोलने दिया है (टैब के रूप में)। हालांकि यह हमेशा मामला नहीं था, कभी-कभी लिंक मर गया।

प्रयोग (और एक साधारण target="_blank" करने के लिए onclick से बदल जाने के बाद) मैं खोज की है कारण लिंक की मौत हो गई है कि कि क्लिक करें घटना <a> भीतर <img> टैग से शुरू की कुछ घंटों के बाद। जब मैंने को <span> के साथ प्रतिस्थापित किया जिसमें कुछ टेक्स्ट शामिल था और <span> पर क्लिक किया गया था, तो लिंक नहीं खुल सका (क्रोम ने इसे एक अवांछित पॉपअप के रूप में पहचाना है), लेकिन जब मैंने <a> टैग पर क्लिक किया (जिसमें एक निश्चित आकार था या एक पैडिंग), तो इसे स्वीकार कर लिया गया, और एक नया टैब पैदा हुआ था।

अंततः मैंने छवियों को सीएसएस पृष्ठभूमि के रूप में शामिल किया और <a> टैग खाली रहे। इस मार्कअप के साथ हर ब्राउज़र में अब काम करने के लिए सब कुछ लगता है:

<a href="URL" target="_blank" style="background:url('NICE_IMAGE'); height:XXX; width:XXX" title="Description"></a> 

क्या गूगल क्रोम के तर्क के पीछे कारण यह है कि जब एक लिंक एक टैग है, तो यह एक नया टैब के रूप में खोला जा रहा से मना किया है हो सकता है, लेकिन जब यह खाली होता है, तो यह आगे बढ़ सकता है?

+0

मेरा अनुमान है कि क्रोम कुछ सामान्य तरीकों को अवरुद्ध करने का प्रयास कर रहा है, वेब उपयोगकर्ता पॉपअप के रूप में समाप्त होने वाले लिंक पर क्लिक करने के लिए "बेवकूफ" हैं। मुख्य रूप से जब कोई साइट एक पूर्ण पृष्ठ पारदर्शी छवि बनाता है जो एक लिंक है। आप इसे नहीं देखते हैं लेकिन जब आप अंतर्निहित तत्व पर क्लिक करने का प्रयास कर रहे हैं तो आप इसे क्लिक करते हैं। लेकिन यह सिर्फ एक अनुमान है ... – chrixbittinx

+0

क्या आपके पास किसी भी अन्य प्रभावित कार्यक्रम से जुड़ी कोई घटना है? यह पॉपअप अवरोधक के व्यवहार को प्रभावित कर सकता है।यदि आप डेमो पेज प्रदान कर सकते हैं तो यह बहुत उपयोगी होगा। – mrks

+0

इसके अलावा, कृपया इंस्पेक्टर (स्रोतों के तहत) में इवेंट श्रोता ब्रेकपॉइंट्स को सक्रिय करें और हमें बताएं कि जब आप तत्व पर क्लिक करते हैं तो किस प्रकार की घटनाओं को निकाल दिया जाता है। – mrks

उत्तर

3

कुछ परीक्षण करने के बाद:

  • क्रोम संस्करण - 25.0.1364.172 मीटर: ठीक काम किया!
  • क्रोम संस्करण - 26.0.1410.43 मीटर: ठीक काम किया!

टैब खोलने का "सामान्य" तरीका दोनों नए संस्करणों में काम कर रहा है। परीक्षण किया गया!

मेरी कोड:

<?php 
echo ' 
    <a href="http://www.google.com" onclick="window.open(this.href); return false;"> 
     <img src="http://static.adzerk.net/Advertisers/2565.png" alt="foo" /> 
    </a> 
    '; 
?> 

समस्या अपने पृष्ठों में होना चाहिए ...

संपादित करें: बग खोज मैं इस अंक में और फिक्स्ड कीड़े के लिए खोज की, लेकिन कुछ भी नहीं कर सके।

+0

यहां वही है, क्रोमियम संस्करण 25.0.1364.160 उबंटू 13.04 (25.0.1364.160-0ubuntu1b1) – NoBugs

+2

पर एक ही समस्या हाल ही में एक अलग साइट पर फिर से दिखाई दे रही है जिस पर मैं काम कर रहा था और यह पता चला है कि एक तृतीय पक्ष एनालिटिक्स जावास्क्रिप्ट लाइब्रेरी में अजीब निंजा बग। – Wabbitseason

+0

उपर्युक्त जैसा ही है, एडोब एनालिटिक्स lib इस कारण है – anson

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