2008-09-15 18 views
19

मेरे पास एक आईफ्रेम है। सामग्री चौड़ाई से चौड़ी है जो मैं सेटिंग कर रहा हूं ताकि आईफ्रेम को क्षैतिज स्क्रॉल बार मिल जाए। मैं iframe की चौड़ाई नहीं बढ़ा सकता, इसलिए मैं केवल स्क्रॉल बार को हटाना चाहता हूं। मैंने स्क्रॉल प्रॉपर्टी को "नहीं" पर सेट करने का प्रयास किया लेकिन यह स्क्रॉल बार दोनों को मारता है और मैं लंबवत चाहता हूं। मैंने ओवरफ्लो-एक्स को "छुपा" पर सेट करने की कोशिश की और उसने एफएफ में क्षैतिज स्क्रॉल बार को मार डाला लेकिन आईई में नहीं। मेरे लिए उदासआईई में ड्रेडेड आईफ्रेम क्षैतिज स्क्रॉल बार को हटाया नहीं जा सकता है?

उत्तर

43
scrolling="yes" horizontalscrolling="no" verticalscrolling="yes" 

रखो कि आपके iframe टैग में।

आप सीएसएस में इस प्रारूप करने की कोशिश कर के साथ चारों ओर गंदगी की जरूरत नहीं है।

+1

zOMG। जबकि क्षैतिज स्क्रॉलिंग और वर्टिकलस्क्रॉलिंग विशेषताएँ एमएसडीएन पर पूरी तरह से अनियंत्रित दिखाई देती हैं, यह मेरी आईई 6 समस्या को हल करने के लिए काम करती है। –

+1

ग्रेट सॉल्यूशन, ठीक वही जो मैं खोज रहा था, tyvm। – David

+0

IE10 पर कोई समस्या होने (हाँ हमारे क्लाइंट का अभी भी इसका उपयोग करें) जहां हम iframe के भीतर कुछ कस्टम HTML5 विज्ञापन प्रदर्शित करते हैं। इस चाल को करने के लिए हमारे लिए काम नहीं किया ... – lkartono

5

आप एक div अंदर आइफ्रेम डालने की कोशिश कर सकते हैं और फिर स्क्रॉल के लिए div का उपयोग करें। आप समस्याओं के बिना आईई में div पर स्क्रॉलिंग को नियंत्रित कर सकते हैं, आईई केवल वास्तव में iframe स्क्रॉलिंग के साथ समस्या है। यहां एक त्वरित उदाहरण दिया गया है जो चाल चलाना चाहिए।

<html> 
    <head> 
     <title>iframe test</title> 

     <style>   
     #aTest { 
      width: 120px; 
      height: 50px; 
      padding: 0; 
      border: inset 1px #000; 
      overflow: auto; 
     } 

     #aTest iframe { 
      width: 100px; 
      height: 1000px; 
      border: none; 
     } 
     </style> 
    </head> 
    <body> 
     <div id="aTest"> 
      <iframe src="whatever.html" scrolling="no" frameborder="0"></iframe> 
     </div> 
    </body> 
</html> 
+0

इस समाधान के लिए धन्यवाद। एकमात्र समस्या यह है कि आपको आईफ्रेम सामग्री के लिए निश्चित ऊंचाई निर्धारित करना है, जो मेरे मामले में अलग-अलग होगा। मैं इसका उपयोग करने जा रहा हूं और आईफ्रेम के लिए एक अतिरिक्त बड़ी ऊंचाई निर्दिष्ट करनी होगी जो थोड़ी हैकी है। लेकिन बहुत धन्यवाद, यह मुझे वहाँ मिला। – mrjrdnthms

24

स्क्रॉलबार की संपत्ति नहीं है, यह पेज इसमें मौजूद का एक गुण है। आंतरिक पृष्ठ के <html> तत्व पर overflow-x: hidden डालने का प्रयास करें।

+1

शरीर तत्व के साथ काम किया। धन्यवाद! –

+2

यह समाधान आईफ़्रेम कोड प्रकाश रखने और encapsulation के पक्ष में रखने के लिए इतना बेहतर है। मुझे वाक्यविन्यास जोड़ने और याद रखना याद नहीं रखना चाहिए। –

+3

मैं @DannyG से सहमत हूं। हम अपने मार्कअप में प्रस्तुति विशेषताओं के युग से पहले चले गए हैं। शुद्ध सीएसएस समाधान कई कारणों से बेहतर हैं। – DuxPrime

0
<iframe style="overflow:hidden;" src="about:blank"/> 

IE में काम करना चाहिए। आईई 6 में ओवरफ्लो-एक्स और ओवरफ्लो-वाई का समर्थन करने में समस्याएं थीं।

ध्यान देने योग्य एक और बात यह है कि अगर आप camelCase में "फ्रेमबॉर्डर" विशेषता सेट करते हैं तो आईफ़्रेम पर आईई की सीमा को हटाया जा सकता है।

<iframe frameBorder="0" style="overflow:hidden;" src="about:blank"/> 

यह अच्छा होगा अगर आप इसे सीएसएस के साथ ठीक से शैली बना सकते हैं लेकिन यह आईई में काम नहीं करता है।

+0

रखने की इजाजत देता है। मेरे मामले में मैं एक्स स्क्रॉल बार को हटाना चाहता हूं, लेकिन वह नहीं और मुझे विश्वास है कि छुपा ओवरफ्लो दोनों को हटा देगा। क्या मेरे पास यह सही है? – mrjrdnthms

0

इन समाधानों में से सभी मेरे लिए काम या संतोषजनक नहीं थे नहीं था। स्क्रोल करने योग्य डीआईवी के साथ आप क्षैतिज स्क्रॉलबार को दूर कर सकते हैं, लेकिन तब आपके पास हमेशा लंबवत होगा।

तो, मेरी साइट के लिए जहां मैं सभी iframes की निश्चित ऊंचाई को नियंत्रित करने के लिए सुनिश्चित हो सकता हूं, यह निम्न समाधान बहुत अच्छी तरह से काम करता है। यह बस एक DIV :)

<!-- This DIV is a special hack to hide the horizontal scrollbar in IE iframes --> 
<!--[if IE]> 
<div id="ieIframeHorScrollbarHider" style="position:absolute; width: 768px; height: 20px; top: 850px; left: 376px; background-color: black; display: none;"> 
</div> 
<![endif]--> 
<script type="text/javascript"> 
    if (document.getElementById("idOfIframe") != null && document.getElementById("ieIframeHorScrollbarHider") != null) 
    { 
    document.getElementById("ieIframeHorScrollbarHider").style.display = "block"; 
    } 
</script> 
0

आप पृष्ठ के शरीर है कि 99% करने के लिए iframe के भीतर शामिल किया गया है की चौड़ाई सेट करने का प्रयास कर सकते हैं के साथ क्षैतिज स्क्रॉलबार छुपाता है।

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