2010-09-15 15 views
8

क्रोम में नवीनतम संदेश window.onresize (नवीनतम संस्करण 6.0.472.55) के लिए एक हैंडलर लिखते समय मैं एक रोचक बग सुविधा आज रात में आया था। पहले दो टैब खोलें, फिर पहले टैब में this jsFiddle खोलें।क्रोम में टैब बदलते समय 'window.resize' ईवेंट क्यों आग लगती है (6.0.472.55)?

इच्छा पर विंडो का आकार बदलें और संवाद बॉक्स अपेक्षा के अनुसार काम करता है। अब, दूसरे टैब -_- पर स्विच करने का प्रयास करें। टैब बदलते समय resize फायरिंग क्यों है? अगर कोई बग फाइल करने की ज़रूरत है तो क्या कोई अंतर्दृष्टि/अधिक जानकारी प्रदान कर सकता है?

+0

बहुत दिलचस्प find- गूगल क्रोम 6.0.472.55 –

+0

पुष्टि की मुझे लगता है कि यह एक बग है: यह लिनक्स पर क्रोम 6.0.472.55 (उबंटू 10.4) में टैब परिवर्तन – Utaal

+0

मैं पुन: पेश नहीं कर सका पर आग नहीं करता है। मैक ओएस एक्स पर क्रोम 7.0.517.5 देव – esqew

उत्तर

3

bug has been filed Google के साथ। समय के लिए, मैंने इसे अभी अनदेखा कर दिया है क्योंकि मेरे वास्तविक onresize हैंडलर अलर्ट बॉक्स प्रदर्शित नहीं करता है।

0

क्रोम टैब स्विचिंग और पेज प्रतिपादन को कैसे प्रबंधित करता है, इसके बारे में एक कामकाजी ज्ञान के बिना, मेरा अनुमान अगले व्यक्ति के रूप में अच्छा (या बुरा है, इस पर निर्भर करता है कि आप इसे कैसे देखते हैं) के बारे में है। मुझे लगता है कि पृष्ठ को पुन: प्रस्तुत करना, या पहले से प्रस्तुत पृष्ठ को पुनः लोड करना अगर इसे कैश करता है, तो onresize ईवेंट ट्रिगर करता है। यह तब होता है जब टैब स्विच हो जाता है। मेरे सिद्धांत के बाद, मुझे लगता है कि क्रोम प्रारंभिक पृष्ठ दृश्य पर आकार बदलने का ईवेंट ट्रिगर नहीं करता है क्योंकि इसे डिज़ाइन नहीं किया गया है। लेकिन फिर, जैसा कि मुझे नहीं पता कि क्रोम आंतरिक रूप से टैब स्विचिंग कैसे संभालता है, यह केवल अटकलें (विचार के लिए भोजन) है।

1

वैसे कैसे इसके बारे में? एक बग की तरह लगता है। मुझे लगता है कि onresize सुना जाता है-व्यवहार के संयोजन के द्वारा, शायद पृष्ठ आकार के बारे में नया डेटा, किसी भी कारण से, टैब चालू होने पर आ रहा है।

संस्करण में मैं विंडोज़ पर उपयोग करता हूं, 5.0.375.127, ऐसा नहीं होता है, लेकिन अगर मैं वास्तव में विंडो का आकार बदलता हूं, तो आकार बदलने की घटना दो बार पर आग लगती है।

यह जानकर, आप इसे हराने के लिए एक कदम उठा सकते हैं (Google को अंततः आपके लिए करना चाहिए)। अपने हैंडलर के आस-पास if कथन लपेटें जो clientHeight या clientWidth में वास्तविक परिवर्तन की जांच करता है यदि आपको केवल कुछ होने की आवश्यकता है (जैसा कि हम इसे समझते हैं) वास्तव में होता है।

1

bug report से:

SPLITVIEW में देव उपकरण का उपयोग कर और देव के बिना एक टैब उपकरण विभाजन में खोला का उपयोग करने जा रहे हैं, आकार-गतिविधि सक्रिय की जाएगी।

तो, यदि अगले टैब में एक ही विंडो आकार नहीं है, तो आकार बदलें() निकाल दिया जाएगा।

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