আইফ্রেমস (এইচটিএমএল) কি অপ্রচলিত? [বন্ধ]


90

সে সম্পর্কে পরস্পরবিরোধী বার্তা পাওয়া, আশা করি তারা তা নয়। আমি এটির জন্য সমর্থন বন্ধ হয়ে যেতে ভাবতে পারি না, যেহেতু কোনও গাজিলিয়ন সাইট সেগুলি ব্যবহার করে।

সে সম্পর্কে কিছু অতিরিক্ত প্রশ্ন:

  1. তাদের এই ট্যাগটি কেন শেষ করা উচিত?
  2. এর কোন বিকল্প?

উত্তর:


53

আমার মতে ডাব্লু 3 সি স্ট্রাক্ট এইচটিএমএল এবং এক্সএইচটিএমএল ডকুমেন্ট থেকে ইফ্রেমেস ডাম্পিংয়ে বন্দুকটি লাফিয়েছিল। তত্ত্ব অনুসারে আপনি <object>উপাদানটি আপনার নথিতে বিদেশী অবজেক্ট যুক্ত করতে ব্যবহার করবেন তবে ব্রাউজারের পার্থক্য এবং সীমাবদ্ধতা এটিকে অনেক বিকাশকারীদের জন্য একটি নন স্টার্টার করে তুলেছে। অনেক বেশি-বাস্তববাদী এইচটিএমএল 5 এর সাথে (যা এখনও একটি খসড়া), আইফ্রেমে ফিরে এসেছে এবং দুটি নতুন বৈশিষ্ট্যও রয়েছে: seamlessএবং আকর্ষণীয় sandbox


আশ্চর্যজনক, আমি কেবল আশা করি ব্রাউজারগুলি এজ্যাক্স ফাইল আপলোডগুলিকে সমর্থন করা শুরু করবে যাতে এর জন্য আমাদের আইফ্রেম বা ফ্ল্যাশ ব্যবহার করার দরকার নেই।
শিওনক্রস

@ এক্সনক্রস ফায়ারফক্স এবং ক্রোম করুন: developer.mozilla.org/en/Using_files_from_web_applications
jches

4
আপডেট: নির্বিঘ্ন বৈশিষ্ট্য এইচটিএমএল 5 থেকে সরানো হয়েছে। দেখুন: caniuse.com/#feat=iframe-seamless
গেব

76

<iframe>এইচটিএমএল 5 এ এখনও সমর্থন রয়েছে, সুতরাং আমি মনে করি না এটি অদূর ভবিষ্যতে পরিবর্তিত হবে।

আপনার অন্যান্য প্রশ্নের উত্তর দিতে:

  1. <iframe>গুলি (সাধারণভাবে ফ্রেম হিসাবে) বেশিরভাগ সময় ব্যবহারকারী-বান্ধব নয়:
    • তারা কোনও ইউআরএল (ফ্রেমের বাইরের সামগ্রীটি কমপক্ষে না হারিয়ে) মাধ্যমে ফ্রেমে সামগ্রীতে সহজে অ্যাক্সেসের অনুমতি দেয় না।
    • বেশিরভাগ "টেকনোফোবি" ব্যবহারকারী ফ্রেম দ্বারা বিরক্ত হন।
    • যতদূর আমি জানি তারা ব্রাউজারগুলির জন্য রেন্ডার করতে ধীর
  2. বিকল্পগুলির মধ্যে ডায়নামিক পৃষ্ঠা জেনারেশন (এসএসআই, পিএইচপি, রেলস এবং আরও কিছু) এবং জাভা স্ক্রিপ্ট / এজেএক্স ব্যবহার করে উদাহরণস্বরূপ একটির সামগ্রী পরিবর্তন করতে হয় <div>

পরিষ্কার হতে: আমি <iframe>একটি ইন্টারফেস উপাদান হিসাবে কথা বলছি । অন্যান্য জিনিস যেমন লোড করার জন্য কোনও গুপ্ত উপাদান নয় যেমন গুগল মেল করে।


29
গুগল উচ্চতর বিশেষায়িত উদ্দেশ্যে iframes ব্যবহার করছে সেই পয়েন্টের জন্য +1।
সিজিপি

25

পৃষ্ঠা বিন্যাসের জন্য iframes অপ্রচলিত । এগুলি কখনই ভাল সিএসএস লেআউটের পরিবর্তে ব্যবহার করবেন না, এমনকি টেবিল-ভিত্তিক লেআউটটি আরও ভাল।

Iframes ব্যবহারের জন্য ভাল কারণগুলি হ'ল:

  • বিজ্ঞাপন : উদাহরণস্বরূপ অ্যাডওয়ার্ডস এই কৌশলটি ব্যবহার করে, এটি এনক্যাপসুলেটিংয়ের পক্ষে ভাল - অ্যাড সিএসএস আপনার পৃষ্ঠাটি ধ্বংস করে না।
  • লুকানো ইফ্রেমে : এটি ট্র্যাকিং, এজাক্স-বিকল্প ইত্যাদির মতো কয়েকশ ব্যবহারযোগ্য জিনিসগুলির জন্য ব্যবহার করা যেতে পারে

35
*** অ্যাডওয়ার্ডের জন্য iframes ব্যবহার করবেন না, এটি শর্তাবলীর লঙ্ঘন। *** scribd.com/doc/97655/…
cgp

37
ওয়েটকোনিটো: অ্যাডওয়ার্ডস আইফ্রেমেস ব্যবহার করে, আমাকে নয় :) আমি বলতে চাইছি না অন্য আইফ্রেমে অ্যাডওয়ার্ড আইফ্রেমে রাখি।
চিন্তাবিদ

7
আমি জানি এটি সেখানে একটি সাধারণ ভুল (অতএব সমস্ত নিবন্ধ) তাই লোকেরা আপনি কী বলছেন তা বোঝার জন্য আমি এটি পতাকাঙ্কিত করতে চেয়েছিলাম।
সিজিপি

4
জটিল কন্টেন্ট সহ যখন অন্য ডোমেন থেকে পরিবেশন করা আবশ্যক, এবং অবশ্যই বর্তমান পৃষ্ঠার সিএসএস বা জেএস কোড দিয়ে ম্যানিপুলেট করা উচিত হবে না এমন ক্ষেত্রে আইফ্রেমগুলি আবশ্যক।
vsync

4
আপনি যে বিষয়ে কথা বলছেন তা ইফ্রেমেসের সাথে কিছু করার নেই। পয়েন্টটি হল - আপনি নেস্টেড, বাহ্যিক ব্রাউজিং প্রসঙ্গ আনতে একটি আইফ্রেমে ব্যবহার করেন। আপনি এটি 'পৃষ্ঠা বিন্যাস' এর জন্য ব্যবহার করবেন না। আমার যদি নেস্টেড ব্রাউজিং প্রসঙ্গের প্রয়োজন হয় - বিশ্বে আমি কীভাবে তার পরিবর্তে "ভাল সিএসএস লেআউট" ব্যবহার করব? এটা বোঝা যায় না।
ক্রিস বি

24

আইফ্রেমগুলি অচল নয়, তবে সেগুলি ব্যবহারের কারণগুলি বিরল।

Iframes ব্যবহারের কারণগুলি:

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

আমি আরও উত্তর দেব যে iframes অপসারণ করার প্রয়োজন নেই, এটি একটি প্রয়োজনীয় ট্যাগ এবং কিছু সময়ের জন্য থাকবে।


12

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

উদাহরণস্বরূপ, আমার একটি আইফ্রেমে একটি পিডিএফ প্রদর্শিত হয়েছিল (কারণ কেবলমাত্র পিডিএফ ছাড়াও আমাদের পৃষ্ঠায় আরও কিছু জিনিস দেখাতে হবে) এবং এটি অবজেক্টটি ব্যবহার করে সূক্ষ্ম প্রদর্শন করতে সক্ষম হয়েছি।

কি ছিল:

<iframe id="confirmed_pdf" class="current_pdf" src="/prescriptions/show_pdf?id=123" height="570" width="480"></iframe>

হয়ে:

<object id="confirmed_pdf" class="current_pdf" data="/prescriptions/show_pdf?id=123" type="application/pdf" height="570" width="480">
  <p>[Show this message if displaying the PDF did not work]</p>
</object>

তবে কেবলমাত্র পৃষ্ঠার পিডিএফ অংশ মুদ্রণ করতে সক্ষম হওয়ার জন্য প্রয়োজনীয়তা পূরণের জন্য অবজেক্টটি উপযুক্ত প্রতিস্থাপন নয়।

একটি আইফ্রেম পৃষ্ঠার মধ্যে নিজস্ব উইন্ডোর মতো (মূলত একটি উইন্ডোর মধ্যে একটি উইন্ডো), এবং একবার আপনি উইন্ডোটির অবজেক্টটি পেয়ে গেলে আপনি এটিতে প্রিন্ট () কল করতে পারেন, যেমন:

jQuery("#confirmed_pdf").contentWindow.print();

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

সুতরাং, মনে হচ্ছে আপনি যদি কিছু প্রদর্শন করতে কেবল আইফ্রেম ব্যবহার করছেন তবে অবজেক্টের মতো আরও কিছু ট্যাগ রয়েছে যা পরিবর্তে ব্যবহার করা যেতে পারে। তবে আপনার যদি নির্দিষ্ট উপায়ে আইফ্রেমের বিষয়বস্তুগুলির সাথে ইন্টারঅ্যাক্ট করতে হয় তবে আইফ্রেমের প্রয়োজন হতে পারে।


7

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


4
আমি পাঁচটি iframes গণনা। একটি লুকানো নয়, এবং বাস্তবে, তাদের মধ্যে একটি যা প্রায় পুরো দর্শন। আইএফ্রেমগুলি সাধারণত অ্যাজাক্সের সাথে ব্যবহৃত হয় না (যে কোনওভাবে বড় ফ্রেমের কোনও ক্ষেত্রে নয়)। জিমেইল আইফ্রেমেস ব্যবহার করছে যেমন: ইতিহাসের ট্র্যাকিং, শব্দ (বিজোড়) এবং কিছু ধরণের ক্যানভাস অঙ্কন।
সিজিপি

আমি কয়েক বছর আগে পড়া একটি নিবন্ধ দিয়ে যাচ্ছিলাম।
জন টপলি 13

7

আইফ্রেমগুলি মৃত নয়, তবে ফ্রেমসেট / ফ্রেমগুলি মারা যাচ্ছে।

আইই এর সর্বশেষ 2 টি প্রকাশনা ( আইই 7 / আইই 8 ) ফ্রেমে জুম করে (আইফ্রেমস নয়) বিপর্যয়কর ফলাফল তৈরি করেছে।

সমস্ত উপায়ে আইফ্রেমেস ব্যবহার করুন তবে আইএমএইচও ফ্রেমসেট / ফ্রেমগুলি থেকে পরিষ্কার থাকে।


5

আমার আগের সংস্থায়, আমরা একটি হোস্টেড অ্যাপ্লিকেশন সরবরাহ করেছি যা গ্রাহকরা তাদের নিজস্ব ওয়েবসাইটে সংহত করতে পারবেন। কখনও কখনও, তারা এটি করার জন্য একটি আইফ্রেম ব্যবহার করবে, আমাদের হোস্ট করা পৃষ্ঠাটিকে তাদের বিদ্যমান ডিজাইনে ফিট করে। কখনও কখনও এটি এমনকি নির্বিঘ্নে সম্পন্ন করা হয়েছিল (যেমন IFrame এর কোনও সীমানা বা স্ক্রোলবার ছিল না, এটি পৃষ্ঠার অংশের মতো দেখায়)। আমি এটি ট্যাগের একটি ভাল ব্যবহার হিসাবে বিবেচনা করেছি।


আপনার নিজস্ব শৈলী এবং জাভাস্ক্রিপ্টের সাহায্যে ক্লায়েন্টের ওয়েবসাইটগুলিতে আপনার রাখা দরকার এমন জিনিসগুলির সাথে আইফ্রেমগুলি আবশ্যক, যাতে ব্যবহারকারীর কোডটি ভেঙে না যায়। সিএসএস সহজেই ওভাররাইড হতে পারে এবং জেএস কখনও কখনও সংঘাত সৃষ্টি করতে পারে (বিরল ক্ষেত্রে) তাই এটি "ক্লোজড সিস্টেম" পদ্ধতির জন্য সেরা।
vsync

5

এগুলি কিছু পরিস্থিতিতে অত্যন্ত কার্যকর হতে পারে তবে সেগুলি সীমাবদ্ধ limited বিশেষত একাধিক সাইট জুড়ে সাধারণ কার্যকারিতা এম্বেড করা।

উদাহরণস্বরূপ আমার কাছে এমন একটি ক্লায়েন্ট রয়েছে যিনি বেশ কয়েকটি স্কটিশ পণ্য ই-কমার্স সাইট পরিচালনা করেন। এর অংশ হিসাবে আমরা আপনার উপাধি বা আপনার টার্টানগুলির পছন্দ থেকে সম্ভাব্য বংশের নামগুলি সনাক্ত করতে কয়েকটি সহজ অ্যাপ্লিকেশন তৈরি করেছি (আপনি যদি চান তবে গিগল করুন তবে আমাদের অর্থনীতিতে টার্টানগুলির মূল্য বছরে $ 700 মিলিয়ন ডলার)। এর পিছনে থাকা ডাটাবেসটি আশ্চর্যজনকভাবে বড় (মূল নাম এবং টার্টান সারণীতে প্রায় দশ হাজার সারি) এবং মোটামুটি নিয়মিত আপডেট হয়।

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

অবশ্যই এটি করার অন্যান্য উপায় থাকবে, তবে একটি আইফ্রেমের ব্যবহার সহজ এবং দৃ rob়। এবং এটি অবশ্যই অচল নয়।


5

কোর্সের জন্য ঘোড়া ... <ফিফ্রেম> গুলি অন্য যে কোনও কিছুর মতো ... সঠিক উদ্দেশ্যে তারা সঠিক সরঞ্জাম; ভুল উদ্দেশ্যে তারা কুৎসিত হ্যাক, বা আরও খারাপ।

অ্যাজাক্সে <ডিভি> গুলি প্রায়শই বেশি উপযুক্ত পাত্রে। <iframe> s দ্বারা সমর্থিত কোনও কোনও জায়গায় আপনার নিজের সাইটের অংশ হিসাবে বাহ্যিক সামগ্রী পাস-অফ করার কার্যকলাপ অনুপযুক্ত।

আমার দল ব্যবহারকারীদের তাদের এইচটিএমএল ইমেল ইতিহাসে অ্যাক্সেস দেওয়ার জন্য একটি আদর্শ উপায় হিসাবে অন্য দিন একটি <ফ্রেম> ব্যবহার করেছে - ইমেলগুলি সম্পূর্ণ <html> পৃষ্ঠাগুলি ছিল যা আমরা আমাদের ওয়েব টেমপ্লেটে সহজেই সন্নিবেশ করতে চেয়েছিলাম। <iframe> গুলি সেই তথ্য উপস্থাপনের জন্য একেবারে নিখুঁত ছিল] '।

অন্যদিকে, <iframe> গুলি প্রায় সর্বদা সাইটটিতে ফিরে আসা কোনও ব্যবহারকারী-জমা দেওয়া সামগ্রীতে মুছে ফেলা বা অক্ষম করা উচিত, কারণ সেই প্রসঙ্গে তারা সুরক্ষার একটি বড় সমস্যা।


4

গুগল গ্যাজেট স্পেসিফিকেশন বর্তমানে আইফ্রেমেস উপর নির্ভর করে: http://code.google.com/apis/gadgets/docs/spec.html

বর্তমানে জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনগুলির জন্য বিচ্ছিন্নতার একমাত্র সহজ উপায় যা একাধিক ডোমেন / সরবরাহকারীদের কাছ থেকে টানা হয়।

তৃতীয় পক্ষগুলি থেকে লোকেরা তাদের ওয়েবসাইটে এম্বেড করে এমন অনেকগুলি উইজেট আইফ্রেমে ব্যবহার করে।

তাদের অসুবিধাগুলি থাকলেও, iframes ওয়েবে সাধারণ সমস্যার একটি ব্যবহারিক সমাধান সরবরাহ করে। আমার অনুমান করতে হবে যে তারা কিছুটা সময় আসবে।


2

আমি স্রেফ একটি ফ্রেমসকে একটি সাধারণ ফ্রেমসেট থেকে ইফ্রেমেস পরিবর্তন করেছি কারণ স্বাভাবিক ফ্রেম আমার যা প্রয়োজন তা করতে পারে না। এটি বাকী কোডবেস নিয়ে কোনও সমস্যা তৈরি করে না।


2

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

আমরা আমাদের ই-কমার্স স্টাফ এবং ক্লায়েন্টদের কীভাবে টার্নকি হতে পারে তা সংহত করার জন্য সাধারণত একটি ইফ্রেমে সরবরাহ করি।


0

আমি এমন একটি সংস্থার জন্য কাজ করি যা কেবলমাত্র নেট নেট ফর্মগুলির জটিলতা toাকতে মেনু, তালিকাগুলি, সামগ্রী ব্লক, ইত্যাদির সমস্ত কিছুর জন্য ফ্রেম ব্যবহার করে। অ্যাপ্লিকেশনটি খুব ধীর এবং কেবল আইইতে চলে। এটি করবেন না।

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