উইন্ডো.পেনার / উইন্ডো.পিতা / উইন্ডো.টপ কখন ব্যবহার করবেন


উত্তর:


167
  • window.openerউইন্ডোটি যে window.open( ... )উইন্ডোটি থেকে কল করা হয়েছে তা খোলার জন্য বোঝায়
  • window.parentএকটি <frame>বা উইন্ডো এর পিতামাতাকে বোঝায়<iframe>
  • window.top<iframe>সাব উইন্ডোগুলির এক বা একাধিক স্তরে বাসা বাঁধানো উইন্ডো থেকে সর্বাধিক সর্বাধিক উইন্ডোটিকে বোঝায়

সেই হতে হবে null(হয়তো বা undefined) যখন তারা উল্লেখ উইন্ডোর অবস্থা প্রাসঙ্গিক নন। ("উইন্ডো উল্লেখ করে" এর অর্থ উইন্ডো যার প্রসঙ্গে জাভাস্ক্রিপ্ট কোডটি চালিত হয়))


4
প্রতিক্রিয়া জন্য আপনাকে ধন্যবাদ @ পয়েন্ট। আমার একটি প্রধান পৃষ্ঠা যা window.open()পেজ জমা দেওয়ার মাধ্যমে কোনও শিশু খোলে । এখন এই শিশু উইন্ডো একই window.open()ক্লোজিং স্ব সাথে অন্য একটি শিশু উইন্ডো খুলবে । এখন যখন আমি আমার দ্বিতীয় সন্তানকে জমা দিই (প্রথম সন্তানের আর কোনও উপস্থিতি নেই), আমি আমার মূল পৃষ্ঠার পৃষ্ঠা উপাদানগুলি অ্যাক্সেস করতে চাই। প্রথম শিশুটি উপস্থিত না থাকলে দ্বিতীয় সন্তানের কাছ থেকে এটি কি সম্ভব?
শ্রীরাম

4
@Sriram: তা তথ্য আপনি আপনার প্রশ্নের রাখা প্রয়োজন ধরনের, লোকেরা জানতে পারে, যাতে আপনি কি সমস্যা করছি সত্যিই সমাধান করার চেষ্টা করছে।
josh3736

4
window.opener.openerমধ্যবর্তী পৃষ্ঠাটি চলে যাওয়ার আগে @ শ্রীরাম আপনাকে ধরতে হবে ।
পয়েন্টি

24

আমি মনে করি আপনার প্রশ্নের আপনার কিছু প্রসঙ্গ যুক্ত করা দরকার। তবে এই বিষয়গুলি সম্পর্কে প্রাথমিক তথ্য এখানে পাওয়া যাবে:

window.opener https://developer.mozilla.org/en-US/docs/Web/API/Window.opener

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

window.parent https://developer.mozilla.org/en-US/docs/Web/API/Window.parent

আইফ্রেমসের সাথে কাজ করার সময় আমি এটি বেশিরভাগ ক্ষেত্রে ব্যবহার করেছি যা তাদের ধারণ করে এমন উইন্ডো অবজেক্টের সাথে যোগাযোগের প্রয়োজন।

window.top https://developer.mozilla.org/en-US/docs/Web/API/Window.top

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

আপনি যদি আপনার প্রশ্নের সাথে আরও কিছু বিশদ যুক্ত করেন তবে আমি অন্যান্য আরও প্রাসঙ্গিক উদাহরণ সরবরাহ করতে পারি।

আপডেট: আপনার পরিস্থিতি সামলানোর কয়েকটি উপায় রয়েছে।
আপনার নিম্নলিখিত কাঠামো রয়েছে:

  • প্রধান জানালা
    • সংলাপ ঘ
      • ডায়ালগ 2 ডায়ালগ 1 দ্বারা খোলা

ডায়ালগ 1 যখন ডায়ালগ 2 খোলার কোড চালায়, ডায়ালগ 2 তৈরি করার পরে, ডায়ালগ 1 ডায়ালগ 2 তে একটি সম্পত্তি সেট করে যা ডায়ালগ 1 ওপেনারের উল্লেখ করে।

সুতরাং যদি "চাইল্ড উইন্ডো" আপনি ডায়ালগ 2 উইন্ডো অবজেক্টের জন্য পরিবর্তনশীল এবং ডায়ালগ 1 উইন্ডো অবজেক্টের জন্য "উইন্ডো" পরিবর্তনশীল হয়। ডায়ালগ 2 খোলার পরে, তবে ডায়লগটি বন্ধ করার আগে 1 এর সাথে একটি অ্যাসাইনমেন্ট তৈরি করুন:

childwindow.appMainWindow = window.opener

উপরের অ্যাসাইনমেন্টটি তৈরি করার পরে, ডায়ালগটি বন্ধ করুন। তারপরে ডায়লগ 2 এর অভ্যন্তরে চলমান কোড থেকে, আপনাকে window.appMainWindowমূল উইন্ডো, উইন্ডো অবজেক্টটি উল্লেখ করতে সক্ষম হতে হবে ।

আশাকরি এটা সাহায্য করবে.


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

আপডেট উত্তর। @ josh3736 - আমি জানি না যে মন্তব্য কীভাবে সহায়ক। আমি কাউকে ডাব্লু 3 স্কুলগুলির শংসাপত্র পাওয়ার পরামর্শ দিচ্ছি না। উইন্ডো.পেনার, উইন্ডো.টপ এবং উইন্ডো.প্যারেন্টের প্রাথমিক সংজ্ঞা কীভাবে গুগল করতে হয় এবং কীভাবে পেতে হয় তা এখানে সকলেই জানেন। উপরের লিঙ্কগুলি ব্যবহার করুন বা নতুন রেফারেন্সগুলি সন্ধান করুন, তবে কেবলমাত্র এই বৈশিষ্ট্যগুলি এখানে সংজ্ঞায়িত করে এমন তথ্যের অনুলিপি করার পক্ষে খুব কমই পয়েন্ট রয়েছে।
র‌্যাম্প 5১

ব্যাখ্যা সত্যিই সহায়ক ছিল @ মার্কএটআরম্প ৫১ ধন্যবাদ!
শ্রীরাম

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

5

শীর্ষ, পিতামাতা, ওপেনার (পাশাপাশি উইন্ডো, স্ব, এবং iframe) সমস্ত উইন্ডো অবজেক্ট।

  1. window.opener -> বর্তমান পপআপ উইন্ডোটি খোলে বা চালু করা উইন্ডোটি ফিরিয়ে দেয়।
  2. window.top -> শীর্ষতম উইন্ডোটি ফিরিয়ে দেয়, আপনি যদি ফ্রেম ব্যবহার করেন তবে এটি ফ্রেমসেট উইন্ডো, ফ্রেম ব্যবহার না করা থাকলে এটি উইন্ডো বা স্ব হিসাবে একই।
  3. window.parent-> বর্তমান ফ্রেম বা iframe এর পিতামাতার ফ্রেম প্রদান করে। অভিভাবক ফ্রেম ফ্রেমসেট উইন্ডো বা অন্য ফ্রেম হতে পারে যদি আপনি ফ্রেমে নেস্ট করে থাকেন। যদি ফ্রেম ব্যবহার না করা হয় তবে পিতামাতার বর্তমান উইন্ডো বা স্ব হিসাবে একই is

1

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

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