2008-11-13 15 views
6

आधुनिक ब्राउज़रों में मल्टी-टैब इंटरफ़ेस है, लेकिन जावास्क्रिप्ट फ़ंक्शन window.showModalDialog() एक मॉडल संवाद बनाता है जो टैब के सभी को अवरुद्ध करता है।क्या जावास्क्रिप्ट मोडल डायलॉग केवल टैब पर मोडल हो सकता है, न कि संपूर्ण ब्राउज़र विंडो पर?

मैं जानना चाहता हूं कि एक मॉडल संवाद बनाने का कोई तरीका है जो केवल उस टैब को अवरुद्ध करता है जिसे इसे बनाया गया है?

उत्तर

8

आप अधिक 'अजाक्स-जैसे' मोडल संवादों में से एक का उपयोग कर सकते हैं, जो केवल पूर्ण स्थान वाले divs हैं, जो बाकी सब कुछ के ऊपर तैरते हैं।

वे 'दस्तावेज़' के लिए मॉडल हैं, न कि ब्राउज़र।

उदाहरण के लिए एक बार देख ले यह this jQuery plugin

पी.एस. showModalDialog() एक आईई केवल कॉल है, इसलिए आप इसे पूरी तरह से उपयोग नहीं करना चाहेंगे।

+0

यह एफएफ में कैसे काम करता है? –

+0

एमएमएम, हास्यास्पद, सभी साइट्स रिपोर्ट करती हैं कि यह समर्थित नहीं है। क्या आपके पास जीवन का उदाहरण है? –

+0

वास्तव में फ़ायरफ़ॉक्स (कम से कम 3) showModalDialog() विधि को कार्यान्वित करता है। यकीन नहीं है कि कब ... लेकिन पेट पर सहमत हुए। स्थिति। div एक बेहतर विकल्प है। – scunliffe

2

नहीं। यह कल्पना की जा सकती है कि आईई 8 की 'ढीली युग्मन' कुछ बिंदु पर इस तरह व्यवहार कर सकती है, लेकिन यह मौजूदा बीटा में नहीं है।

मैं दूसरी मिचिल की सिफारिश करता हूं। एक छद्म मोडल-संवाद, शेष पृष्ठ obscuring शीर्ष पर एक div चल, और स्क्रिप्ट वापस बुला इसके समाप्त होने पर, द्वारा काम कर रहे दोनों है:

    बहुत अधिक प्रयोग करने योग्य/कम एक असली मॉडल संवाद से कष्टप्रद
  • किसी भी ब्राउज़र

showModalDialog/showModelessDialog खुद को आम तौर पर परहेज किया जाता है के साथ

  • संगत।

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