জাভাস্ক্রিপ্টে window.opener
/ window.parent
/ কখন ব্যবহার করবেন window.top
?
উত্তর:
window.opener
উইন্ডোটি যে window.open( ... )
উইন্ডোটি থেকে কল করা হয়েছে তা খোলার জন্য বোঝায়window.parent
একটি <frame>
বা উইন্ডো এর পিতামাতাকে বোঝায়<iframe>
window.top
<iframe>
সাব উইন্ডোগুলির এক বা একাধিক স্তরে বাসা বাঁধানো উইন্ডো থেকে সর্বাধিক সর্বাধিক উইন্ডোটিকে বোঝায়সেই হতে হবে null
(হয়তো বা undefined
) যখন তারা উল্লেখ উইন্ডোর অবস্থা প্রাসঙ্গিক নন। ("উইন্ডো উল্লেখ করে" এর অর্থ উইন্ডো যার প্রসঙ্গে জাভাস্ক্রিপ্ট কোডটি চালিত হয়))
window.open()
পেজ জমা দেওয়ার মাধ্যমে কোনও শিশু খোলে । এখন এই শিশু উইন্ডো একই window.open()
ক্লোজিং স্ব সাথে অন্য একটি শিশু উইন্ডো খুলবে । এখন যখন আমি আমার দ্বিতীয় সন্তানকে জমা দিই (প্রথম সন্তানের আর কোনও উপস্থিতি নেই), আমি আমার মূল পৃষ্ঠার পৃষ্ঠা উপাদানগুলি অ্যাক্সেস করতে চাই। প্রথম শিশুটি উপস্থিত না থাকলে দ্বিতীয় সন্তানের কাছ থেকে এটি কি সম্ভব?
window.opener.opener
মধ্যবর্তী পৃষ্ঠাটি চলে যাওয়ার আগে @ শ্রীরাম আপনাকে ধরতে হবে ।
আমি মনে করি আপনার প্রশ্নের আপনার কিছু প্রসঙ্গ যুক্ত করা দরকার। তবে এই বিষয়গুলি সম্পর্কে প্রাথমিক তথ্য এখানে পাওয়া যাবে:
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
আপনি শীর্ষ স্তরের ব্রাউজার উইন্ডোটির সাথে ইন্টারঅ্যাক্ট করছেন তা নিশ্চিত করার জন্য এটি দরকারী। আপনি অন্য জিনিসগুলির মধ্যে অন্য কোনও ওয়েবসাইটকে আপনার ওয়েবসাইটকে আইফ্রেমিং করা থেকে বিরত রাখতে এটি ব্যবহার করতে পারেন।
আপনি যদি আপনার প্রশ্নের সাথে আরও কিছু বিশদ যুক্ত করেন তবে আমি অন্যান্য আরও প্রাসঙ্গিক উদাহরণ সরবরাহ করতে পারি।
আপডেট:
আপনার পরিস্থিতি সামলানোর কয়েকটি উপায় রয়েছে।
আপনার নিম্নলিখিত কাঠামো রয়েছে:
ডায়ালগ 1 যখন ডায়ালগ 2 খোলার কোড চালায়, ডায়ালগ 2 তৈরি করার পরে, ডায়ালগ 1 ডায়ালগ 2 তে একটি সম্পত্তি সেট করে যা ডায়ালগ 1 ওপেনারের উল্লেখ করে।
সুতরাং যদি "চাইল্ড উইন্ডো" আপনি ডায়ালগ 2 উইন্ডো অবজেক্টের জন্য পরিবর্তনশীল এবং ডায়ালগ 1 উইন্ডো অবজেক্টের জন্য "উইন্ডো" পরিবর্তনশীল হয়। ডায়ালগ 2 খোলার পরে, তবে ডায়লগটি বন্ধ করার আগে 1 এর সাথে একটি অ্যাসাইনমেন্ট তৈরি করুন:
childwindow.appMainWindow = window.opener
উপরের অ্যাসাইনমেন্টটি তৈরি করার পরে, ডায়ালগটি বন্ধ করুন। তারপরে ডায়লগ 2 এর অভ্যন্তরে চলমান কোড থেকে, আপনাকে window.appMainWindow
মূল উইন্ডো, উইন্ডো অবজেক্টটি উল্লেখ করতে সক্ষম হতে হবে
।
আশাকরি এটা সাহায্য করবে.
window.open()
পেজ জমা দেওয়ার মাধ্যমে কোনও শিশু খোলে । এখন এই শিশু উইন্ডো একই window.open()
ক্লোজিং স্ব সাথে অন্য একটি শিশু উইন্ডো খুলবে । এখন যখন আমি আমার দ্বিতীয় সন্তানকে জমা দিই (প্রথম সন্তানের আর কোনও উপস্থিতি নেই), আমি আমার মূল পৃষ্ঠার পৃষ্ঠা উপাদানগুলি অ্যাক্সেস করতে চাই। প্রথম শিশুটি উপস্থিত না থাকলে দ্বিতীয় সন্তানের কাছ থেকে এটি কি সম্ভব?
শীর্ষ, পিতামাতা, ওপেনার (পাশাপাশি উইন্ডো, স্ব, এবং iframe) সমস্ত উইন্ডো অবজেক্ট।
window.opener
-> বর্তমান পপআপ উইন্ডোটি খোলে বা চালু করা উইন্ডোটি ফিরিয়ে দেয়।window.top
-> শীর্ষতম উইন্ডোটি ফিরিয়ে দেয়, আপনি যদি ফ্রেম ব্যবহার করেন তবে এটি ফ্রেমসেট উইন্ডো, ফ্রেম ব্যবহার না করা থাকলে এটি উইন্ডো বা স্ব হিসাবে একই।window.parent
-> বর্তমান ফ্রেম বা iframe এর পিতামাতার ফ্রেম প্রদান করে। অভিভাবক ফ্রেম ফ্রেমসেট উইন্ডো বা অন্য ফ্রেম হতে পারে যদি আপনি ফ্রেমে নেস্ট করে থাকেন। যদি ফ্রেম ব্যবহার না করা হয় তবে পিতামাতার বর্তমান উইন্ডো বা স্ব হিসাবে একই isআপনি যখন পপআপগুলি নিয়ে কাজ করছেন উইন্ডো.পেনার একটি গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ আমাদের পিতামাতার পৃষ্ঠার পাশাপাশি শিশু পৃষ্ঠার ক্ষেত্রগুলি নিয়ে কাজ করতে হয়, যখন আমাদের পিতামাতার পৃষ্ঠায় মান ব্যবহার করতে হয় আমরা উইন্ডো.পেনার ব্যবহার করতে পারি বা আমরা কিছু তথ্য চাই লোড করার সময় চাইল্ড উইন্ডো বা পপআপ উইন্ডোতে আবার আমরা উইন্ডো.ওপেনার ব্যবহার করে মানগুলি সেট করতে পারি