window.open
সমস্ত ব্রাউজারে একটি নতুন ট্যাবে নির্ভরযোগ্যভাবে পপআপগুলি খুলতে পারে না
বিভিন্ন ব্রাউজারগুলি window.open
বিভিন্নভাবে আচরণের বাস্তবায়ন করে, বিশেষত ব্যবহারকারীর ব্রাউজারের পছন্দগুলি সম্পর্কে। আপনি window.open
ইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স এবং ক্রোমের সমস্ত ক্ষেত্রে একই আচরণটি সত্য বলে আশা করতে পারবেন না , কারণ তারা ব্যবহারকারীর ব্রাউজারের পছন্দগুলি বিভিন্নভাবে পরিচালনা করে।
উদাহরণস্বরূপ, ইন্টারনেট এক্সপ্লোরার (11) ব্যবহারকারীরা একটি নতুন উইন্ডো বা একটি নতুন ট্যাবে পপআপগুলি খুলতে বেছে নিতে পারেন, আপনি ইন্টারনেট এক্সপ্লোরার 11 ব্যবহারকারীদের একটি নির্দিষ্ট উপায়ে পপআপগুলি খুলতে বাধ্য করতে পারবেন না window.open
, যেমনটি কুইন্টিনের উত্তরে বর্ণিত হয়েছে ।
ফায়ারফক্স (২৯) ব্যবহারকারীরা window.open(url, '_blank')
তাদের ব্রাউজারের ট্যাব পছন্দগুলির উপর নির্ভর করে যদিও আপনি তাদের প্রস্থ এবং উচ্চতা নির্দিষ্ট করে একটি নতুন উইন্ডোতে পপআপগুলি খুলতে বাধ্য করতে পারেন (নীচে "ক্রোম সম্পর্কে কী?" বিভাগটি দেখুন)।
প্রদর্শন
আপনার ব্রাউজারের সেটিংসে যান এবং একটি নতুন উইন্ডোতে পপআপগুলি খুলতে এটি কনফিগার করুন।
ইন্টারনেট এক্সপ্লোরার (11)
পরীক্ষার পৃষ্ঠা
উপরে প্রদর্শিত হিসাবে একটি নতুন উইন্ডোতে পপআপগুলি খুলতে ইন্টারনেট এক্সপ্লোরার (11) সেট আপ করার পরে, পরীক্ষার জন্য নিম্নলিখিত পরীক্ষার পৃষ্ঠাটি ব্যবহার করুন window.open
:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<button onclick="window.open('https://stackoverflow.com/q/4907843/456814');">
<code>window.open(url)</code>
</button>
<button onclick="window.open('https://stackoverflow.com/q/4907843/456814', '_blank');">
<code>window.open(url, '_blank')</code>
</button>
</body>
</html>
দেখুন যে পপআপগুলি একটি নতুন উইন্ডোতে খোলা হয়েছে, কোনও নতুন ট্যাব নয়।
আপনি ফায়ারফক্সে উপরের এই স্নিপেটগুলি পরীক্ষা করতে পারেন (29) এর ট্যাব পছন্দগুলি নতুন উইন্ডোতে সেট করা আছে এবং একই ফলাফলগুলি দেখতে পারেন।
ক্রোম সম্পর্কে কী? এটি window.open
ইন্টারনেট এক্সপ্লোরার (11) এবং ফায়ারফক্স (29) থেকে আলাদাভাবে কার্যকর করে ।
আমি ১০০% নিশ্চিত নই, তবে দেখে মনে হচ্ছে ক্রোম (সংস্করণ 34.0.1847.131 m
) এমন কোনও সেটিংস নেই যা ব্যবহারকারীরা নতুন উইন্ডোতে বা একটি নতুন ট্যাবে পপআপগুলি খুলতে বা না চয়ন করতে ব্যবহার করতে পারেন (যেমন ফায়ারফক্স এবং ইন্টারনেট এক্সপ্লোরার) ) আছে। আমি পপ-আপগুলি পরিচালনা করার জন্য ক্রোম ডকুমেন্টেশন চেক করেছি , তবে এটি এই ধরণের জিনিস সম্পর্কে কিছুই উল্লেখ করেনি।
এছাড়াও, আবারও, বিভিন্ন ব্রাউজারগুলি অন্যরকম আচরণ বাস্তবায়িত করে বলে মনে হয় window.open
। ক্রোম এবং ফায়ারফক্সে, প্রস্থ এবং উচ্চতা উল্লেখ করা একটি পপআপকে বাধ্য করবে, এমনকি যখন কোনও ব্যবহারকারী ফায়ারফক্সকে (২৯) নতুন ট্যাবে নতুন উইন্ডো খুলতে সেট করেছেন ( জাভাস্ক্রিপ্টের উত্তরে নতুন উইন্ডোতে খোলা হয়েছে, ট্যাব নয় ) :
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<button onclick="window.open('https://stackoverflow.com/q/4907843/456814', 'test', 'width=400, height=400');">
<code>window.open(url)</code>
</button>
</body>
</html>
যাইহোক, উপরের একই কোড স্নিপেট ইন্টারনেট ব্রাউজারের পছন্দ হিসাবে যদি ট্যাবগুলি তাদের ব্রাউজারের পছন্দ হিসাবে সেট করে, প্রস্থ এবং উচ্চতা নির্দিষ্ট করে না তবে তাদের জন্য একটি নতুন উইন্ডো পপআপকে বাধ্য করবে above
সুতরাং window.open
ক্রোমের আচরণটি মনে হয় কোনও onclick
ইভেন্টে ব্যবহৃত হওয়ার সময় একটি নতুন ট্যাবে পপআপগুলি খুলতে , ব্রাউজার কনসোল থেকে ব্যবহার করার সময় সেগুলিকে নতুন উইন্ডোতে খুলতে ( যেমন অন্য ব্যক্তিদের দ্বারা উল্লিখিত ) এবং নতুন উইন্ডোগুলিতে সেগুলি খুলতে দেখা যায় Chrome একটি প্রস্থ এবং একটি উচ্চতা সঙ্গে নির্দিষ্ট।
সারসংক্ষেপ
বিভিন্ন ব্রাউজার window.open
ব্যবহারকারীদের ব্রাউজারের পছন্দগুলি সম্পর্কে আলাদাভাবে আচরণ বাস্তবায়ন করে । আপনি window.open
ইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স এবং ক্রোমের সমস্ত ক্ষেত্রে একই আচরণটি সত্য বলে আশা করতে পারবেন না , কারণ তারা ব্যবহারকারীর ব্রাউজারের পছন্দগুলি বিভিন্নভাবে পরিচালনা করে।
অতিরিক্ত পড়া