2012-10-01 13 views
12

में पृष्ठ पर नहीं मैं सब कुछ अच्छी तरह से आकार एक iPhone पर प्रदर्शित करने के साथiFrame के भीतर ज़ूम करने की अनुमति है, लेकिन आईओएस

<meta name="viewport" id="extViewportMeta" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> 
उस पर

के साथ एक सरल पृष्ठ है,।

लेकिन जब मैं उस पृष्ठ पर एक आईफ्रेम डालता हूं, तो iFrame के अंदर सब कुछ ज़ूम करने योग्य नहीं है, और मूल पृष्ठ के आकार के पैमाने पर है।

मैं अपने शेष पृष्ठ के साथ गड़बड़ किए बिना केवल आईफ्रेम के भीतर ज़ूमिंग कैसे कर सकता हूं?

उत्तर

11

आप जो अनुरोध कर रहे हैं दुर्भाग्य से संभव नहीं है।

सबसे पहले, आप 'व्यूपोर्ट' मेटा टैग में, आपकी "सामग्री" विशेषता यह निर्दिष्ट कर रही है कि आपकी वेबसाइट का उपयोगकर्ता बिल्कुल ज़ूम नहीं कर सकता है। 'उपयोगकर्ता-स्केलेबल = नहीं' निर्देशित करता है।

इसके अलावा, आपके अधिकतम पैमाने पर और कम से कम पैमाने पर 1 पर सेट किया जाता है, तो भले ही आप को दूर 'उपयोगकर्ता-मापनीय = नहीं', ज़ूमिंग सच है कि आप के लिए कोई स्केलिंग रेंज है कि वहाँ रूप से अक्षम हैं उपयोगकर्ता को ज़ूम करने के लिए।

इसलिए उपयोगकर्ता के लिए ज़ूमिंग सक्षम करने के लिए आपको उपयोगकर्ता-स्केलेबल = नहीं हटा देना होगा और अलग-अलग न्यूनतम और अधिकतम स्केल मान सेट करना होगा।

https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html

दूसरे, मेटा टैग अपने 'माता-पिता' पृष्ठ पर सेट किया जाता है अपने 'व्यूपोर्ट' के बाद से, इन सेटिंग्स को लागू:

मेटा टैग 'व्यूपोर्ट' के लिए इस लिंक बेहतर सेटिंग्स को समझने के लिए देखें उस पृष्ठ के भीतर कुछ भी, यानी iframe भी। चाहे आईफ़्रेम में अलग-अलग सेटिंग्स को निर्दिष्ट करने वाला एक अलग मेटा 'व्यूपोर्ट' टैग है, इससे कोई फर्क नहीं पड़ता क्योंकि यह अपने माता-पिता की सेटिंग्स के भीतर रहता है और उसका पालन करता है।

+2

यह jQuery के माध्यम से संभव है। जब आप ज़ूमिंग और पैनिंग की अनुमति देते हैं तो बाहर ज़ूमिंग और पैनिंग करते समय ज़ूमिंग और पैनिंग करते समय ज़ूमिंग और पैनिंग इवेंट्स को बाध्य करें। फिर divs के लिए आप ज़ूमिंग और पैनिंग की अनुमति देना चाहते हैं, तो आप [Panzoom] (http://timmywil.github.io/jquery.panzoom/demo/) जैसे प्लगइन्स का उपयोग कर सकते हैं जो "CSS3 ट्रांसफॉर्म और मैट्रिक्स फ़ंक्शन" का उपयोग करने के लिए अनुमति देते हैं ज़ूमिंग और पैनिंग। – geoyws

+0

क्या हम किसी विशेष बच्चे तत्व पर मूल सेटिंग्स के एप्लिकेशन को अक्षम कर सकते हैं? –

0

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

+0

लेकिन यह बात है - यह * ज़ूमिंग की अनुमति देता है। यह पिंचिंग और ज़ूमिंग का मुद्दा है। – Alfo

+0

मैं नहीं कह सकता कि वे इसे क्यों अनुमति नहीं देते हैं। मुझे लगता है कि यदि आप उपयोगकर्ता हैं तो यह अजीब और कठिन है। यदि आप किसी वेबसाइट पर हैं और यह वेबसाइट ज़ूमिंग की अनुमति देती है (आप ज़ूमिंग की अनुमति नहीं देते हैं, लेकिन आईओएस कोई अंतर नहीं कर रहा है) और आईफ्रेम पूरी स्क्रीन भरता है, तो आप बाहर नहीं जा सकते (यदि आप जानते हैं कि मेरा क्या मतलब है)। यह एक वेबसाइट में एक वेबसाइट है। उम्मीद है कि मैंने आपकी टिप्पणी को समझ लिया है (अगर दोबारा टिप्पणी न करें;)) – Kitzng

+0

मैं अभी भी उलझन में हूं। आईओएस सफारी ज़ूमिंग की अनुमति देता है। एक आईफोन पर http://newspaperclub.com जैसी वेबसाइट पर जाएं और आप खुशी से ज़ूम कर सकते हैं। – Alfo

4

यह jQuery के माध्यम से संभव है। जब आप ज़ूमिंग और पैनिंग की अनुमति देते हैं तो बाहर ज़ूमिंग और पैनिंग करते समय ज़ूमिंग और पैनिंग करते समय ज़ूमिंग और पैनिंग इवेंट्स को बाध्य करें। फिर divs के लिए आप ज़ूमिंग और पैनिंग की अनुमति देना चाहते हैं, आप Panzoom जैसे प्लगइन का उपयोग कर सकते हैं जो ज़ूमिंग और पैनिंग की अनुमति देने के लिए "CSS3 ट्रांसफॉर्म और मैट्रिक्स फ़ंक्शंस" का उपयोग करते हैं।

+1

Panzoom बहुत कम प्रयास के साथ कॉर्डोवा ऐप्स के साथ बढ़िया काम करता है। – raider33

+0

यह कमाल है! धन्यवाद! – kaiserkiwi

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