আইওএস সাফারিটিতে প্রতিক্রিয়াশীল হওয়ার জন্য কীভাবে আইফ্রেম পাবেন?


134

সমস্যাটি হ'ল যখন কোনও ওয়েবসাইটের মধ্যে সামগ্রী সন্নিবেশ করতে আপনাকে আইফ্রেম ব্যবহার করতে হবে, তখন আধুনিক ওয়েব-ওয়ার্ল্ডে আশা করা যায় যে আইফ্রেমটিও প্রতিক্রিয়াশীল হবে। তত্ত্বের ক্ষেত্রে এটি সহজ, সহজভাবে অ্যাডারের ব্যবহার <iframe width="100%"></iframe>বা সিএসএস প্রস্থ সেট করুন বাস্তবে iframe { width: 100%; }এটি খুব সহজ নয়, তবে এটি হতে পারে।

যদি iframeসামগ্রীটি সম্পূর্ণরূপে প্রতিক্রিয়াশীল এবং অভ্যন্তরীণ স্ক্রোল বারগুলি ব্যতীত নিজেই আকার পরিবর্তন করতে পারে, তবে আইওএস সাফারি iframeকোনও বাস্তব সমস্যা ছাড়াই পুনরায় আকার দেবে ।

আপনি যদি নিম্নলিখিত কোডটি বিবেচনা করেন:

<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=9,10,11" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Iframe Isolation Test</title>

    <style type="text/css" rel="stylesheet">

        #Main {
            padding: 10px;
        }
    </style>
</head>
<body>
    <h1>Iframe Isolation Test 13.17</h1>
    <div id="Main">
        <iframe height="950" width="100%" src="Content.html"></iframe>
    </div>
</body>
</html>

সঙ্গে Content.html :

<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=9,10,11" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Iframe Isolation Test - Content</title>

    <style type="text/css" rel="stylesheet">

        #Main {
            width: 100%;
            background: #ccc;
        }

    </style>
</head>
<body>
    <div id="Main">
        <div id="ScrolledArea">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc malesuada purus quis commodo convallis. Fusce consectetur mauris eget purus tristique blandit. Nam nec volutpat augue. Aliquam sit amet augue vitae orci fermentum tempor sit amet gravida augue. Pellentesque convallis velit eu malesuada malesuada. Aliquam erat volutpat. Nam sollicitudin nulla nec neque viverra, non suscipit purus tincidunt. Aenean blandit nisi felis, sit amet ornare mi vestibulum ac. Praesent ultrices varius arcu quis fringilla. In vitae dui consequat, rutrum sapien ut, aliquam metus. Proin sit amet porta velit, suscipit dignissim arcu. Cras bibendum tellus eu facilisis sodales. Vestibulum posuere, magna ut iaculis consequat, tortor erat vulputate diam, ut pharetra sapien massa ut magna. Donec massa purus, pharetra sed pellentesque nec, posuere ut velit. Nam venenatis feugiat odio quis tristique. 
        </div>      
    </div>
</body>
</html>

তারপরে এটি আইওএস 7.1 সাফারিগুলিতে সমস্যা ছাড়াই কাজ করে। আপনি কোনও সমস্যা ছাড়াই ল্যান্ডস্কেপ এবং প্রতিকৃতির মধ্যে পরিবর্তন করতে পারেন।

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

তবে কেবল এটি যোগ করে বিষয়বস্তু এইচটিএমএল সিএসএস পরিবর্তন করে :

    #ScrolledArea {
        width: 100%;
        overflow: scroll;
        white-space: nowrap;
        background: #ff0000;
    }

আপনি এটি পান:

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

আপনি দেখুন করতে পারেন, যদিও Content.html বিষয়বস্তু সম্পূর্ণরূপে প্রতিক্রিয়াশীল ( DIV আছে # ScrolledArea হয়েছে overflow: scrollসেট) এবং আইফ্রেম প্রস্থ 100% আইফ্রেম এখনও পুরো প্রস্থ লাগে DIV আছে # ScrolledArea যেন ওভারফ্লো এমনকি অস্তিত্ব নেই। ডেমো

এই জাতীয় ক্ষেত্রে, iframeবিষয়বস্তুতে কী স্ক্রোলিংয়ের ক্ষেত্রগুলি ছিল, প্রশ্নটি তৈরি হয় iframe, যখন আইফ্রেমে সামগ্রী অনুভূমিকভাবে স্ক্রোলিংয়ের ক্ষেত্রগুলি থাকে তখন কীভাবে প্রতিক্রিয়া পাওয়া যায়? এখানে সমস্যাটি আসলে বিষয়বস্তু এইচটিএমএল প্রতিক্রিয়াশীল নয় এমন নয়, তবে আইওএস সাফারি ইফ্রেমে কেবল আকার পরিবর্তন করে যাতে div#ScrolledAreaসম্পূর্ণরূপে দৃশ্যমান হয়।


আপনি কি আমাদের সাথে একটি লিঙ্ক ভাগ করতে পারেন? আপনি কি বলছেন যে আইওএস একটি পৃষ্ঠার সম্পূর্ণ প্রস্থে আইফ্রেম প্রসারিত করবে যদি এর ভিতরে থাকা পৃষ্ঠায় শৈলীযুক্ত সামগ্রী থাকে white-space: nowrap?
ডিএ

@ ডিএ আমি সমস্যা এবং সমাধান উভয়ই ডেমো যুক্ত করেছি। এবং না, white-space: nowrapনিজেই সমস্যা নয়। চরম প্রস্থের জন্য আমি কেবল এটি ব্যবহার করছি div#ScrolledArea। আইফ্রেম সামগ্রীটি যখন অনুভূমিকভাবে স্ক্রোলযোগ্য অঞ্চলগুলিতে থাকে তখন সমস্যাটি আসে। যদি এটি হয় তবে iOS সাফারি কেবল আপনার প্রস্থের সেটিংসকে উপেক্ষা করে এবং গর্তের সামগ্রী এবং সাইটের প্রতিক্রিয়াটি ভঙ্গ করে।
ইদ্রা

হুম ... আমি যদি ভাবছি যে এটি কোনও 'বৈশিষ্ট্য'। স্ক্রোলযোগ্য এরিয়া (আইফ্রেমে) থাকতে পারে যাতে স্ক্রোলযোগ্য সামগ্রী থাকে aw টাচ স্ক্রিনে ইন্টারঅ্যাক্ট করা খুব কঠিন বিষয় হতে চাই।
ডিএ

@ ডিএ অবশ্যই এটি একটি ভাগ্নির মামলা, এবং আপনি যা বলেছিলেন তা সত্য হতে পারে (বাস্তবায়নের উপর নির্ভর করে, আমাদের জন্য কাজ করে) এবং বেশিরভাগ সাইটগুলিতে অনুভূমিকভাবে স্ক্রোলযোগ্য অঞ্চল থাকে না তবে আপনি যখন করেন ... আপনি কল্পনাও করতে পারবেন না আমি এই জন্য কত সময় ব্যয় করেছি। আপনি বাটন বা এর মতো অন্য কিছু দিয়ে লুকিয়ে থাকা এবং স্ক্রোল থাকা চিত্র থাকলেও এটি একটি সমস্যা হতে পারে।
ইদ্রা

দেখে মনে হচ্ছে এটি সম্পর্কিত কোনও প্রশ্ন রয়েছে: স্ট্যাকওভারফ্লো.com/ প্রশ্নগুলি / ৫২679999996 / … এটি মোবাইল সাফারির একটি 'বৈশিষ্ট্য' বলে মনে হচ্ছে ... এটি নিশ্চিত করার চেষ্টা করা হচ্ছে যে বিষয়বস্তুটি এমনভাবে আকার করা হচ্ছে যা ব্যবহারকারীরা পারে এখনও এটির সাথে যোগাযোগ করুন interact আমি নিশ্চিত নই যে আপনার যদি স্ক্রোলিং ইফ্রেমে লিখিত সামগ্রী থাকে তবে কী হবে ... সাফারি কীভাবে নেস্টেড স্ক্রোলিং উপাদানগুলির মধ্যে একটি সোয়াইপ ব্যাখ্যা করবে?
ডিএ

উত্তর:


289

এই সমস্যার সমাধানটি আসলে বেশ সহজ এবং এটি সম্পর্কে দুটি উপায় রয়েছে। কনটেন্ট এইচটিএমএল এর উপর যদি আপনার নিয়ন্ত্রণ থাকে তবে কেবল div#ScrolledAreaপ্রস্থ সিএসএস এ এতে পরিবর্তন করুন :

        width: 1px;
        min-width: 100%;
        *width: 100%;

মূলত এখানে ধারণাটি সহজ, আপনি widthভিউপোর্টের চেয়ে ছোট এমন কোনও কিছুকে সেট করেছেন (এই ক্ষেত্রে iframe প্রস্থ) এবং তারপরে এটি ওভাররাইট করে ডিফল্ট ওভাররাইট দ্বারা কোন আইওএস সাফারিটিকে বাস্তবের min-width: 100%জন্য অনুমতি দেয় width: 100%*width: 100%;নেই তাই কোড IE6 সামঞ্জস্যপূর্ণ থাকবে, কিন্তু আপনি যদি IE6 জন্য যত্ন না আপনি এটা বর্জন করতে পারেন। ডেমো

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

আপনি এখন দেখতে পাচ্ছেন, div#ScrolledAreaপ্রস্থটি আসলে 100% এবং এটি এটি overflow: scroll;করতে পারে এবং উপচে পড়া সামগ্রীকে আড়াল করতে পারে। আপনার যদি আইফ্রেমে লিখিত সামগ্রীতে অ্যাক্সেস থাকে তবে এটি ভাল।

তবে যদি আপনার যদি আইফ্রেমে সামগ্রীতে অ্যাক্সেস না থাকে (কোন কারণেই) তবে আপনি আসলে একই কৌশলটি ইফ্রেমে নিজেই ব্যবহার করতে পারেন। ইফ্রেমে কেবল একই সিএসএস ব্যবহার করুন:

    iframe {
        width: 1px;
        min-width: 100%;
        *width: 100%;
    }

তবে এটির একটি সীমাবদ্ধতা রয়েছে, এটি scrolling="no"কাজ করার জন্য আপনাকে আইফ্রেমে চালু করে স্ক্রোলবারগুলি বন্ধ করতে হবে :

<iframe height="950" width="100%" scrolling="no" src="Content.html"></iframe>

যদি স্ক্রোলবারগুলিকে অনুমতি দেওয়া হয়, তবে এটি আর আর iframe এ কাজ করবে না। এটি বলেছে, আপনি যদি পরিবর্তে Content.html পরিবর্তন করেন তবে আপনি iframe এ স্ক্রোলিং ধরে রাখতে পারবেন। ডেমো


1
@ নিকগোটলিবের মতো উল্লেখ করা হয়েছে, আইওএস with সহ আইফোন ৪-এ আইফ্রেমে রেসপন্সিক-ওয়েব-ডিজাইন প্রস্তুত করতে আমাকে গুনে যুক্ত !importantকরতে হয়েছিলwidth
মালিসোকান

@ ЮнгвиртТони কাজের মতো কাজ করার প্রয়োজন হবে না, এটি সম্ভবত সিএসএসের widthসাথে আগে সেট করা হয়েছিল !importantবা কোনও উচ্চতর অগ্রাধিকার সিএসএস এটিকে ওভাররোট করে। আইফোন 4 আইওএস 7-এ বিচ্ছিন্ন ক্ষেত্রে এটির প্রয়োজন ছিল না।
ইদ্রা

আমার দরকার নেই! আইওএস 8 এও দুর্দান্ত কাজ করে। চিয়ার্স
স্যাম পটস

আমার যখন প্রয়োজন তখনই স্ক্রোলিং = দরকার নেই, অন্যথায় স্ক্রলিং = হ্যাঁ। সুতরাং আমি কি সনাক্ত করা উচিত? এটি কি কোনও আইওএস ইস্যু? বা ওয়েবকিট ইস্যু? বা ...?
জার্মবাজ

@ggwarpig এটি একটি আইওএস ইস্যু, যেখানে আইওএস সাফারি স্বয়ংক্রিয়ভাবে বিরামবিহীন বৈশিষ্ট্যটিকে চালু করে দেয় এবং আপনি এটি ওভাররাইট করতে পারবেন না। আপনি বিষয়বস্তুর উপর নিয়ন্ত্রণ আছে, তাহলে আপনি আছে অনুক্রমে সামগ্রীগুলিকে সংশোধন করার প্রয়োজন scrolling="yes"অন্যথায় এই সংশোধন করার কোন উপায় IFRAME কাজ করার ফিক্স জন্য, শুধুমাত্র আপনার দরকার হবে scrolling="no"IFRAME উপর
আইডিআরএ

24

সমস্যাটি মনে হচ্ছে, মোবাইল সাফারি আপনার আইফ্রেমের প্রস্থটি মানতে অস্বীকার করবে যদি এতে থাকা দস্তাবেজটি আপনি নির্দিষ্ট করেছেন তার চেয়ে বেশি বিস্তৃত। উদাহরণ:

http://jsbin.com/hapituto/1

একটি ডেস্কটপ ব্রাউজারে আপনি একটি আইফ্রেম এবং একটি ডিভ উভয় সেট করে 300px এ দেখতে পাবেন। সামগ্রীগুলি আরও বিস্তৃত যাতে আপনি আইফ্রেমে স্ক্রোল করতে পারেন।

মোবাইল সাফারিতে, তবে আপনি খেয়াল করবেন যে আইফ্রেমটি সামগ্রীটির প্রস্থে স্বয়ংক্রিয়ভাবে প্রসারিত।

আমার অনুমান যে এটি কোনও পৃষ্ঠার মধ্যে স্ক্রোলিং সামগ্রী সহ দীর্ঘস্থায়ী সমস্যাগুলির জন্য কাজ ar অতীতে, যদি আপনার কোনও টাচ ডিভাইসে একটি বড় স্ক্রোলিং ইফ্রেমে থাকে, আপনি পেজটির পরিবর্তে পৃষ্ঠার পরিবর্তে স্ক্রলিং হিসাবে ইফ্রামে 'আটকে' থাকতে পারেন। এটি অ্যাপল সিদ্ধান্ত নিয়েছে যে কোনও আইফ্রেমের ডিফল্ট আচরণটি 'কোনও স্ক্রোল নয়' এবং এটি প্রতিরোধের জন্য প্রসারিত হয় appears

একটি বিকল্প এই কাজের হতে পারে। আইফ্রেমে স্ক্রোলটি ধরে নেওয়ার পরিবর্তে, আইফ্রেমটি এমন একটি ডিআইভিতে রাখুন যা আপনার নিয়ন্ত্রণ রাখে এবং সেই স্ক্রোলটি দিন।

উদাহরণ: http://jsbin.com/zakedja/1 1

উদাহরণস্বরূপ:

<div style="overflow: scroll; -webkit-overflow-scrolling: touch; width: 300px;">
   <iframe src="http://jsbin.com/roredora/1/" style="width: 600px;"></iframe>
</div>

মোবাইল সাফারিতে আপনি এখন সম্পূর্ণরূপে প্রসারিত আইফ্রেমের বিষয়বস্তু এতে থাকা ডিভের মাধ্যমে স্ক্রোল করতে পারবেন।

ক্যাচ: এটি ডেস্কটপ ব্রাউজারে দেখতে সত্যিই কুৎসিত দেখাচ্ছে, এখন আপনার যেমন ডাবল স্ক্রোলবার রয়েছে। সুতরাং এগুলি পেতে আপনাকে জেএসের সাথে কিছু ব্রাউজার সনাক্তকরণ করতে হতে পারে।


1
আমি এখনও এটি বজায় রাখতে পারি যে এটি আসলে প্রশ্নের ক্ষেত্রের মধ্যে নয়, কারণ আপনি যে সমাধানটি এখানে দেখিয়েছেন তা হ'ল আইওএস সাফারিতে গর্ত iframe স্ক্রোলিং কীভাবে জাল করা যায় তা স্ট্যান্ডার্ড উপায় , তবে এই আইওএস সমস্যাটি বিবেচনায় নেওয়া আইফ্রেম স্ক্রোলিং সম্পর্কিত একটি বিষয় is (বিষয়বস্তু বা অন্যথায়) তারপরে এটি এখানে থাকা ভাল।
ইদ্রা

1
আমার ধারণা আমি আপনার প্রশ্নটি পুরোপুরি বুঝতে পারি না। আমি যা বুঝতে পেরেছি তা থেকে, আপনি যে সমস্যাটি করছেন তা হ'ল আইওএসে, মোবাইল সাফারি কোনও আইফ্রেমকে প্রথম স্থানে স্ক্রোলিং থেকে রোধ করার চেষ্টা করে এবং এর উপর প্রস্থকে বাধ্য করে। আমি কি আপনার সমস্যার ভুল বোঝাবুঝি করছি?
ডিএ

সংক্ষেপে যা সমস্যা, এর কেবলমাত্র প্রয়োজনীয় সমাধানটি আলাদা। প্রাথমিক সমস্যাটিতে, আইফ্রেম সামগ্রীটি প্রতিক্রিয়াশীল ছিল, যখন অনুভূমিকভাবে স্ক্রোলিং সামগ্রী ছিল তাই প্রশ্নটি ছিল না যে কীভাবে আইফ্রেমে স্ক্রোলিং অনুকরণ করা যায় , তবে কীভাবে আইফ্রেমের প্রস্থটি 100% অর্থাৎ প্রতিক্রিয়াযুক্ত হয়, যখন আপনার সাথে আনুভূমিকভাবে স্ক্রোলিং সামগ্রী রয়েছে যে iframe। এই কারণেই উপরোক্ত পদ্ধতিটি এই ক্ষেত্রে কাজ করে না, কারণ নকশা করা প্রতিক্রিয়াটি নষ্ট হয়ে গেছে এবং সম্পূর্ণ সামগ্রী দেখতে আপনাকে প্রায় স্ক্রোল করতে হবে, এমনকি এমন জায়গাগুলিতেও সাধারণত আপনার প্রয়োজন হবে না।
ইদ্রা

1
আমি ক্ষমা চেয়ে নিচ্ছি, আমি বুঝতে পেরেছিলাম যে আমি আপনাকে মন্তব্যের একটিতে ভুল পথে ফেলেছি। Iframe স্ক্রোলিং হয় না। এটি ছিল বিন্দুটি, iframe এর বিষয়বস্তুর কেবলমাত্র কিছু অংশগুলি div#ScrolledArea( যেমন সবুজ রঙে) আমার উদাহরণে স্ক্রোল করার কথা ছিল না । আমি শুধু আগে ভুল পড়া। তবে আইফ্রেমে কেবল পাত্রে থাকা উপাদানগুলির উপর ভিত্তি করে নিজেকে পুনরায় আকার দেওয়া উচিত নয়width: 100%;
ইদ্রা

18

আমার একটি ক্রস ব্রাউজার সমাধান দরকার। প্রয়োজনীয়তাগুলি ছিল:

  • আইওএস এবং অন্য কোথাও কাজ করা দরকার
  • আইফ্রেমে সামগ্রীটিতে অ্যাক্সেস নেই
  • এটি স্ক্রোল প্রয়োজন!

আমি আইড্রে স্ক্রলিং সম্পর্কিত = "না" এবং আইওএস- এ স্ক্রিনে আইফ্রেম সামগ্রীটি ফিট করার বিষয়ে এই পোস্টটি সম্পর্কে আমি যা শিখলাম তা বন্ধ করে দেওয়া এখানে আমি কী শেষ করেছি। আশা করি এটি কাউকে সহায়তা করে =)

এইচটিএমএল

<div id="url-wrapper"></div>

সিএসএস

html, body{
    height: 100%;
}

#url-wrapper{
    margin-top: 51px;
    height: 100%;
}

#url-wrapper iframe{
    height: 100%;
    width: 100%;
}

#url-wrapper.ios{
    overflow-y: auto;
    -webkit-overflow-scrolling:touch !important;
    height: 100%;
}

#url-wrapper.ios iframe{
    height: 100%;
    min-width: 100%;
    width: 100px;
    *width: 100%;
}

জাতীয়

function create_iframe(url){

    var wrapper = jQuery('#url-wrapper');

    if(navigator.userAgent.match(/(iPod|iPhone|iPad)/)){
        wrapper.addClass('ios');
        var scrolling = 'no';
    }else{
        var scrolling = 'yes';
    }

    jQuery('<iframe>', {
        src: url,
        id:  'url',
        frameborder: 0,
        scrolling: scrolling
    }).appendTo(wrapper);

}

1
upvated, কিন্তু ... কেন আইও 6 নিয়ম "আইওএস" শ্রেণিতে? :-)
জে ব্রুনি

12

এই সমস্ত সমাধানগুলির সাথে সমস্যাটি হ'ল iframeকখনও কখনও উচ্চতার পরিবর্তন হয় না।

এর অর্থ আপনি iframeজাভাস্ক্রিপ্ট ব্যবহার করে ভিতরে উপাদানগুলিকে কেন্দ্র করতে পারবেন না position:fixed;বা position:absolute;যেহেতু iframeনিজে কখনও স্ক্রোল করে না।

আমার সমাধানের বিশদটি এখানেdiv এই সিএসএস ব্যবহার করে iframe এর সমস্ত সামগ্রী মোড়ানো হয় :

#wrap {
    position: fixed;
    top: 0;
    right:0;
    bottom:0;
    left: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

এইভাবে সাফারি বিশ্বাস করে যে সামগ্রীটির কোনও উচ্চতা নেই এবং আপনাকে iframeযথাযথভাবে উচ্চতা নির্ধারণ করতে দেয় । এটি আপনাকে ইচ্ছামত যে কোনও উপায়ে অবস্থান নির্ধারণের অনুমতি দেয়।

আপনি এখানে একটি দ্রুত এবং নোংরা ডেমো দেখতে পারেন।


1
এটি আমার জন্য কাজ করা একমাত্র সমাধান। অবশ্যই, এটি কেবলমাত্র যদি আপনি এর বিষয়বস্তু নিয়ন্ত্রণ করেন তবে তা ব্যবহার করা যেতে পারে iframeতবে আমার ক্ষেত্রে, আমি তা করি। চিয়ার্স!
ভিন্স

হুম। আপনার উদাহরণটি আইওএস-তে প্রতিক্রিয়াশীল বলে মনে হচ্ছে না?
ব্র্যান্ডনরেড

2 বছর আগে যখন আমি এটি লিখেছিলাম। আপনি কি রেপোতে একটি সমস্যা ফাইল করতে পারেন?
পিয়ার

আইওএস-এ আয়নিক / কর্ডোভার সাথে এই ইস্যুটিতে ঘন্টা এবং ঘন্টা নষ্ট করার পরে, এটিই কেবল কাজ করেছিল। ধন্যবাদ!
অ্যান্ড্রু

1
এটি দুর্দান্ত, একমাত্র এটিই কাজ করেছিল, আমি আপনার কাছে @ পেয়ার 100pts এর মতো সমাধান অনুসন্ধান করতে 1 দিন অতিবাহিত করেছি
কার্লোস ই

5

এই সমস্যাটি আইওএস ক্রোমেও উপস্থিত রয়েছে।

আমি উপরের সমস্ত সমাধানগুলিতে নজর রেখেছি, বেশিরভাগই খুব হ্যাকি।

আপনার যদি পুরানো ব্রাউজারগুলির জন্য সমর্থন প্রয়োজন না হয় তবে কেবল আইফ্রেমের প্রস্থটি 100vw এ সেট করুন;

iframe {
  max-width: 100%; /* Limits width to 100% of container */
  width: 100vw; /* Sets width to 100% of the viewport width while respecting the max-width above */
}

দ্রষ্টব্য: ভিউপোর্ট ইউনিটগুলি https://caniuse.com/#feat=viewport-units এর জন্য সমর্থন পরীক্ষা করুন


1
আইওএসের জন্য ক্রোম নীচে কেবল সাফারি। এটি WKWebView ব্যবহার করে। আইওএসে অন্য কোনও ওয়েব রেন্ডারিং ইঞ্জিন অনুমোদিত নয়।
পিয়ের

3

আমি আয়নিক 2 এর সাথে কাজ করছি এবং সিস্টেম কনফিগারেশনটি নীচে রয়েছে -


******************************************************

Your system information:

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
ios-deploy version: Not installed
ios-sim version: 5.0.8 
OS: OS X Yosemite
Node Version: v6.2.2
Xcode version: Xcode 7.2 Build version 7C68



******************************************************

আমার জন্য এই সমস্যাটি এই কোডটির সাথে সমাধান
হয়েছে - এইচটিএমএল-এর জন্য iframe ট্যাগ-

<div class="iframe_container">
      <iframe class= "animated fadeInUp" id="iframe1" [src]='page' frameborder="0" >
        <!--  <img src="img/video-icon.png"> -->
      </iframe><br>
   </div>

একই হিসাবে সিএসএস দেখুন-


.iframe_container {
  overflow: auto; 
  position: relative; 
  -webkit-overflow-scrolling: touch;
  height: 75%;
}

iframe {
  position:relative;
  top: 2%;
  left: 5%;
  border: 0 !important;
  width: 90%;
}

পজিশন সম্পত্তি আমার ক্ষেত্রে এখানে গুরুত্বপূর্ণ ভূমিকা পালন করে।
অবস্থান: আপেক্ষিক;

এটি আপনাকেও সাহায্য করতে পারে !!!


0

সিএসএস কেবল সমাধান

এইচটিএমএল

<div class="container">
    <div class="h_iframe">
        <iframe  src="//www.youtube.com/embed/9KunP3sZyI0" frameborder="0" allowfullscreen></iframe>
    </div>
</div>

সিএসএস

html,body {
    height:100%;
}
.h_iframe iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

ডেমো

আইফ্রেমে HTML পৃষ্ঠা সহ এখানে আরও একটি ডেমো


হতে পারে আমি আপনার সমাধানটি ভুলভাবে বাস্তবায়ন করছি, তবে আমি যখন এটি আমার বিচ্ছিন্ন পরীক্ষার কেস দিয়ে চেষ্টা করেছি, তখন এটি কার্যকর হয়নি, আইওএসে সাফারি .1.১ আইফোন 4.. এটি কীভাবে কাজ করা উচিত সে সম্পর্কে আপনি বিস্তারিত বর্ণনা করতে পারেন?
ইদ্রা

ঠিক আছে, আপনি ইস্যুটিকে ভুল বুঝেছেন এমন মত করে এই লিঙ্কটি পরীক্ষা করে দেখুন , আইফ্রেমে কোনও অতিরিক্ত সিএসএস প্রয়োগ না করেই এটি আপনার নতুন ডেমো ইফ্রেমে সামগ্রী সংহত হয়েছে। এবং যদি আপনি এটি আইওএস সাফারিতে সন্ধান করেন তবে এটি এখনও প্রতিক্রিয়াশীল, কারণ এই পৃষ্ঠায় এমন কোনও অনুভূমিক স্ক্রোলিং নেই যা আইফ্রেমের প্রস্থ ভিউপোর্টের চেয়ে প্রশস্ত হতে বাধ্য করবে। প্রশ্নে বর্ণিত হিসাবে, এই জাতীয় সাইটে আপনার যদি আইফ্রেমে প্রতিক্রিয়াশীল হতে পারে তবে আপনাকে কিছু করার প্রয়োজন হবে না।
ইদ্রা

সুতরাং আপনি ঠিক কী এটি আচরণ করতে চান, আপনার প্রদত্ত লিঙ্কটির উদাহরণ দিন?
4dgaurav

0

আইফ্রেমের জন্য একটি অনুভূমিক স্ক্রোল বার তৈরি করার জন্য আমার সামগ্রীতে পেনের প্রস্থের সমস্যা ছিল। দেখা গেল যে কোনও চিত্র প্রত্যাশার চেয়ে প্রস্থকে প্রশস্ত করে রেখেছে। আমি সিসিএসএস সর্বাধিক প্রস্থকে সমস্ত শতাংশে সেট করে এটি সমাধান করতে সক্ষম হয়েছি।

<meta name="viewport" content="width=device-width, initial-scale=1" />

img {
        max-width: 100%;
        height:auto;
    }

0

আসলে আমার জন্য কেবল স্ক্রোলটি অক্ষম করার আইওএস এ কাজ করেছিল

<iframe src="//www.youraddress.com/" scrolling="no"></iframe>

এবং স্ক্রিপ্ট মাধ্যমে ওএস চিকিত্সা।


0

আমার জন্য সিএসএস সমাধানগুলি কাজ করে না। তবে প্রস্থটি প্রোগ্রামাইমেটিকভাবে সেট করা কাজটি করে। Iframe লোড প্রস্থটি প্রস্থ হিসাবে সেট করুন:

 $('iframe').width('100%');
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.