ব্রাউজিং কনটেক্সটের মাঝপথে টু-ওয়ে (দ্বিমুখী) কমিউনিকেশানকে চ্যানেল মেসেজিং বলা হয়। এটি একাধিক অরিজিনের মাঝপথে যোগাযোগের জন্য কার্যকর।
MessageChannel তৈরি করার সময় এটি আંતরিকভাবে দুটি পোর্ট তৈরি করে ডেটা পাঠানোর এবং অন্য ব্রাউজিং কনটেক্সটে ফরওয়ার্ড করার জন্য।
প্রধান মেথডসমূহ:
- postMessage() — চ্যানেলের মাধ্যমে মেসেজ পোস্ট করে।
- start() — ডেটা পাঠানো শুরু করে।
- close() — পোর্টগুলো বন্ধ করে।
এই পরিস্থিতিতে, আমরা একটি আইফ্রেম থেকে অন্য আইফ্রেমে ডেটা পাঠাচ্ছি। ফাংশনে ডেটা আহ্বান করে DOM-এ পাস করা হচ্ছে।
var loadHandler = function(){
var mc, portMessageHandler;
mc = new MessageChannel();
window.parent.postMessage('documentAHasLoaded', 'https://foo.example', [mc.port2]);
portMessageHandler = function(portMsgEvent){
alert(portMsgEvent.data);
};
mc.port1.addEventListener('message', portMessageHandler, false);
mc.port1.start();
};
window.addEventListener('DOMContentLoaded', loadHandler, false);