নতুন ট্যাবে একটি URL খুলুন (এবং একটি নতুন উইন্ডো নয়)


2100

পপআপ উইন্ডোর বিপরীতে আমি একটি নতুন ট্যাবে একটি URL খোলার চেষ্টা করছি ।

আমি সম্পর্কিত প্রশ্নগুলি দেখেছি যেখানে প্রতিক্রিয়াগুলি এমন কিছু দেখায়:

window.open(url,'_blank');
window.open(url);

তবে তাদের কেউই আমার পক্ষে কাজ করেনি, ব্রাউজারটি এখনও পপআপ উইন্ডো খোলার চেষ্টা করেছিল।


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

42
জাভাস্ক্রিপ্ট আপনার ব্রাউজার এবং ট্যাব বনাম উইন্ডো সম্পর্কে কিছুই জানে না, সুতরাং কীভাবে একটি নতুন উইন্ডো খুলতে হবে তা ঠিক করার জন্য ব্রাউজারটি নির্ভর করে।
Andrey

3
পপআপের বিপরীতে আমি কীভাবে ক্রোমকে এটি একটি নতুন ট্যাবে প্রদর্শিত করতে কনফিগার করতে পারি?
চিহ্নিত করুন

8
অন্তত ক্রোমে জিমেইল এটি কোনওভাবে করে। Shift + একটি ইমেল সারিতে ক্লিক করুন এবং আপনি সেই ইমেলটি একটি নতুন উইন্ডোতে খুলুন। Ctrl + ক্লিক করুন এবং আপনি এটি একটি নতুন ট্যাবে খুলুন। কেবলমাত্র সমস্যা: জিমেইলের অপ্রচলিত কোডে খনন করা একটি পিআইটিএ
সার্জিও

48
@ সার্জিও, এটি কোনও লিঙ্কের জন্য ডিফল্ট ব্রাউজার আচরণ। (কমপক্ষে ক্রোম এবং ফায়ারফক্সের জন্য)) Gmail এর সাথে কোনও সম্পর্ক নেই।
কিউট্যাক্স

উত্তর:


928

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

সিএসএস 3 প্রস্তাবিত টার্গেট-নতুন , তবে স্পেসিফিকেশনটি পরিত্যাগ করা হয়েছিল

বিপরীত সত্য নয়; তৃতীয় আর্গুমেন্টে উইন্ডোটির মাত্রাগুলি নির্দিষ্ট করে window.open()আপনি যখন পছন্দগুলি ট্যাবগুলির জন্য থাকেন তখন আপনি একটি নতুন উইন্ডো ট্রিগার করতে পারেন।


42
@ অলি হাইদারি নতুন ট্যাব / উইন্ডোটি কীভাবে খোলা হবে তার সাথে জাভাস্ক্রিপ্টের কোনও সম্পর্ক নেই। এগুলি সবই আপনার ব্রাউজারের সেটিংস দ্বারা নির্ধারিত হয়। window.openব্রাউজারটি ব্যবহার করে নতুন কিছু খুলতে বলা হয়, তারপরে ব্রাউজারটি তার সেটিংস - ট্যাব বা উইন্ডোতে যা চয়ন করা হয় তা খুলবে। আপনি যে ব্রাউজারগুলি দিয়ে পরীক্ষা করেছেন, তাতে কোনও ট্যাবের পরিবর্তে একটি নতুন উইন্ডোতে খুলতে সেটিংস পরিবর্তন করুন এবং আপনি অন্যের সমাধানগুলি ভুল বলে দেখতে পাবেন।
ইয়ান

239
দুটি জিনিস যা অন্য লোকদের কিছু বলার চেয়ে বেশি সময় নষ্ট করে তা করা যায় না। (1) তাদের এমন কিছু বিষয় যা সম্পন্ন করা যাবে না বলা পারেন সম্পন্ন করা। (২) চুপ করে থাকা এবং তাদের পক্ষে এমন কিছু করার উপায় সন্ধান করতে দেওয়া যা করা যায় না।
কোয়ান্টিন

8
@ ক্যাপকেক - ডকুমেন্টেশনগুলি সাধারণত এমন বৈশিষ্ট্যগুলি বর্ণনা করতে বিরক্ত করে না যা উপস্থিত নেই। evernote.com/shard/s3/sh/428d2d68-39f9-491d-8352-8a9c217b67d7/…
কোয়ান্টিন

9
@ নীল - কারণ এটি সংক্ষিপ্তভাবে একটি বিষয়টিতে পৌঁছেছে যে সম্পর্কে প্রচুর লোকেরা জানতে চান।
কোয়ান্টিন

4
লেখকরা জিনিসগুলি করতে পারেন (বেশিরভাগ ভিন্ন কোড লিখছেন)। এই জিনিসগুলির কোনওটিই উইন্ডোর পরিবর্তে কোনও ট্যাবকে ট্রিগার করবে না।
কোয়ান্টিন

1732

এটি একটি কৌশল,

function openInNewTab(url) {
  var win = window.open(url, '_blank');
  win.focus();
}

বেশিরভাগ ক্ষেত্রে, onclickপপ-আপ ব্লকারকে এবং ডিফল্ট "নতুন উইন্ডো" আচরণ রোধ করতে লিঙ্কটির জন্য সরাসরি হ্যান্ডলারের মধ্যে এটি হওয়া উচিত । আপনি এটি এইভাবে করতে পারেন, বা আপনার DOMঅবজেক্টে ইভেন্ট শ্রোতা যুক্ত করে ।

<div onclick="openInNewTab('www.test.com');">Something To Click On</div>

http://www.tutsplanet.com/open-url-new-tab-using-javascript/


117
কাজ করে না. ঠিকানা বারের ডানদিকে একটি বার্তা পেয়েছেন: পপআপ ব্লক করা হয়েছে । তারপরে আমি পপআপগুলিকে অনুমতি দিলাম। এবং যাইহোক, এটি একটি পপআপে খোলে, কোনও ট্যাব নয় ! ওএস এক্স লায়নটিতে ক্রোম 22.0.1229.94।
ধীরে ধীরে

39
@ b1naryatr0phy এর কারণ আপনি এটি সঠিকভাবে পরীক্ষা করেননি। আপনার ব্রাউজারগুলিতে সেটিংস পরিবর্তন করুন। এটি কোনও ট্যাব বা উইন্ডোতে খোলার বিষয়টি আপনার ব্রাউজারের সেটিংস দ্বারা নির্ধারিত হয়। নতুন উইন্ডো / ট্যাবটি কীভাবে খুলবেন তা চয়ন করার জন্য উইন্ডো.ওপেন (বা কোনও জাভাস্ক্রিপ্ট) কল করে আপনি কিছুই করতে পারবেন না।
ইয়ান

প্রশ্ন: আমি প্রোটোকল ছাড়াই url সেট করেছি (উদাহরণস্বরূপ my.site.com/Controller/Index)। ফলস্বরূপ আমি বর্তমান পৃষ্ঠার ইউআরএল (যেখান থেকে আমি ফাংশন OpenInNewTab ব্যবহার করি) এর সাথে আরও নতুন ফাংশন url এ পাস করে নতুন উইন্ডো (ট্যাব) পাই get প্রোটোকল উইন্ডো সহ সঠিক লিঙ্কটি খোলে। কেন?
ব্যবহারকারী 2167382

2
var win = window.open (url, '_blank'); '_blank' প্রয়োজনীয় নয়, উইন্ডো.পেন () এর জন্য , দ্বিতীয় প্যারামিটারটি হল strWindowName, এর জন্য: নতুন উইন্ডোর একটি স্ট্রিং নাম। নামটি কোনও লিঙ্ক এবং ফর্মগুলির লক্ষ্য হিসাবে কোনও <a> বা <for> উপাদানটির লক্ষ্য বৈশিষ্ট্য ব্যবহার করে ব্যবহার করা যেতে পারে। নামটিতে কোনও সাদা বর্ণচিহ্ন থাকা উচিত নয়। দ্রষ্টব্য যে strWindowName নতুন উইন্ডোর শিরোনাম নির্দিষ্ট করে না।
হাইড্র্যাঞ্জার

এটিকে স্যান্ডবক্সযুক্ত ইফ্রেমে না করে এটিকে নতুন ট্যাব তৈরি করার কোনও উপায় আছে কি? আমি যখন এটি ব্যবহার করি তখন আমি সিওআরএস ত্রুটিগুলি পাই কারণ ডকুমেন্ট.ডোমেন মানটি ইফ্রেমে হিসাবে খোলার সাথে পরিবর্তিত হয় না।
আইডি ভ্যান ডের জি

380

window.open()যদি আসল ক্লিক ইভেন্টে এটি না ঘটে তবে কোনও নতুন ট্যাবে এটি খুলবে না। প্রদত্ত উদাহরণে ইউআরএলটি আসল ক্লিক ইভেন্টে খোলা হচ্ছে। ব্রাউজারে ব্যবহারকারীর যথাযথ সেটিংস দেওয়া থাকলে এটি কাজ করবে

<a class="link">Link</a>
<script  type="text/javascript">
     $("a.link").on("click",function(){
         window.open('www.yourdomain.com','_blank');
     });
</script>

একইভাবে, আপনি যদি ক্লিক ফাংশনটির মধ্যে একটি অ্যাজাক্স কল করার চেষ্টা করছেন এবং সাফল্যের উপর একটি উইন্ডো খুলতে চান, আপনি async : falseবিকল্প সেট সহ আজাক্স কল করছেন তা নিশ্চিত করুন ।


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

2
@ আইয়ান ডিফল্ট সেটিংস সহ ব্রাউজারগুলিতে আমার পরীক্ষা করা থেকে, এই উত্তর এমন ক্ষেত্রে কাজ করে যেখানে উপরের উত্তরগুলি না দেয়। গৃহীত উত্তর যা "আপনারা কিছুই করতে পারবেন না" বলে ঠিক তখনই সত্য যখন ব্যবহারকারী ডিফল্ট সেটিংস পরিবর্তন করে।
গারফিল্ড

@ ইয়ান স্পষ্টতার জন্য, আমি ব্যবহারকারী সেটিংস সম্পর্কে উত্তর সতর্কতার মধ্যে এটি উল্লেখ করেছি। "ব্রাউজারে ব্যবহারকারীর উপযুক্ত সেটিংস থাকলে এটি কাজ করবে" " আমি মনে করি বেশিরভাগ ব্যবহারকারী ব্রাউজার সেটিংস পরিবর্তন করেন না এবং এই উত্তরটি তাদের বেশিরভাগের জন্যই কাজ করে।
ভেঙ্কট কোটরা

async: falseক্রোমে কাজ করে না। কলব্যাক থেকে একটি নতুন উইন্ডো খুলতে, আপনাকে HTTP অনুরোধ প্রেরণের আগে প্রথমে একটি খালি উইন্ডো খুলতে হবে এবং পরে এটি আপডেট করতে হবে। এখানে একটি ভাল হ্যাক
আততোসমিয়ান

250

window.open সমস্ত ব্রাউজারে একটি নতুন ট্যাবে নির্ভরযোগ্যভাবে পপআপগুলি খুলতে পারে না

বিভিন্ন ব্রাউজারগুলি window.open বিভিন্নভাবে আচরণের বাস্তবায়ন করে, বিশেষত ব্যবহারকারীর ব্রাউজারের পছন্দগুলি সম্পর্কে। আপনি window.openইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স এবং ক্রোমের সমস্ত ক্ষেত্রে একই আচরণটি সত্য বলে আশা করতে পারবেন না , কারণ তারা ব্যবহারকারীর ব্রাউজারের পছন্দগুলি বিভিন্নভাবে পরিচালনা করে।

উদাহরণস্বরূপ, ইন্টারনেট এক্সপ্লোরার (11) ব্যবহারকারীরা একটি নতুন উইন্ডো বা একটি নতুন ট্যাবে পপআপগুলি খুলতে বেছে নিতে পারেন, আপনি ইন্টারনেট এক্সপ্লোরার 11 ব্যবহারকারীদের একটি নির্দিষ্ট উপায়ে পপআপগুলি খুলতে বাধ্য করতে পারবেন না window.open , যেমনটি কুইন্টিনের উত্তরে বর্ণিত হয়েছে ।

ফায়ারফক্স (২৯) ব্যবহারকারীরা window.open(url, '_blank') তাদের ব্রাউজারের ট্যাব পছন্দগুলির উপর নির্ভর করে যদিও আপনি তাদের প্রস্থ এবং উচ্চতা নির্দিষ্ট করে একটি নতুন উইন্ডোতে পপআপগুলি খুলতে বাধ্য করতে পারেন (নীচে "ক্রোম সম্পর্কে কী?" বিভাগটি দেখুন)।

প্রদর্শন

আপনার ব্রাউজারের সেটিংসে যান এবং একটি নতুন উইন্ডোতে পপআপগুলি খুলতে এটি কনফিগার করুন।

ইন্টারনেট এক্সপ্লোরার (11)

ইন্টারনেট এক্সপ্লোরার সেটিংস ডায়ালগ 1

ইন্টারনেট এক্সপ্লোরার ট্যাব সেটিংস ডায়ালগ

পরীক্ষার পৃষ্ঠা

উপরে প্রদর্শিত হিসাবে একটি নতুন উইন্ডোতে পপআপগুলি খুলতে ইন্টারনেট এক্সপ্লোরার (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ইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স এবং ক্রোমের সমস্ত ক্ষেত্রে একই আচরণটি সত্য বলে আশা করতে পারবেন না , কারণ তারা ব্যবহারকারীর ব্রাউজারের পছন্দগুলি বিভিন্নভাবে পরিচালনা করে।

অতিরিক্ত পড়া


12
আপনি প্রশ্নের উত্তর দেন নি, আপনি কেবল প্রমাণ করেছেন উইন্ডো.ওপেন অসঙ্গতিপূর্ণ।
বেন্টঅনকোডিং 23

223

এক রৈখিক:

Object.assign(document.createElement('a'), { target: '_blank', href: 'URL_HERE'}).click();

এটি একটি ভার্চুয়াল aউপাদান তৈরি করে , এটি দেয় target="_blank"যাতে এটি একটি নতুন ট্যাবে খোলে, যথাযথ দেয় url hrefএবং তারপরে এটি ক্লিক করে।

এবং যদি আপনি চান তবে এর ভিত্তিতে আপনি কিছু ফাংশন তৈরি করতে পারেন:

function openInNewTab(href) {
  Object.assign(document.createElement('a'), {
    target: '_blank',
    href,
  }).click();
}

এবং তারপরে আপনি এটি ব্যবহার করতে পারেন:

openInNewTab("https://google.com"); 

গুরুত্বপূর্ণ তথ্য:

openInNewTab(পাশাপাশি এই পৃষ্ঠার অন্য কোনও সমাধান) ব্যবহারকারীর অ্যাকশন কলব্যাকের সময় অবশ্যই কল করা উচিত - যেমন। ইভেন্টের ভিতরে ক্লিক করুন (কলব্যাক ফাংশনে সরাসরি প্রয়োজন হয় না, তবে ক্লিক ক্রিয়াকলাপের সময়)।

যদি আপনি এটিকে যেকোন এলোমেলো মুহুর্তে ম্যানুয়ালি কল করেন (উদাহরণস্বরূপ: কোনও বিরতি বা সার্ভারের প্রতিক্রিয়ার পরে) - এটি ব্রাউজার দ্বারা ব্লক করা হতে পারে (এটি সুরক্ষার ঝুঁকি বলে মনে হয় এবং এটি খুব খারাপ ব্যবহারকারীর অভিজ্ঞতা হতে পারে) )


8
ধন্যবাদ. আপনার খাঁটি জেএস-এর একটি অনুপস্থিত অংশ রয়েছে - লুক অ্যাল্ডারটন যেমন লিখেছেন (নীচে দেখুন) আপনার কোডটিতে এটি তৈরি করা উপাদানটি ফায়ারফক্সের মধ্যে অন্তত ফায়ারফক্সে ঝুলিয়ে রাখা আবশ্যক 37 এটি কোনও কিছুই করে না need ।
গ্রীনল্ডম্যান

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

4
আপনি নিম্নলিখিত হিসাবে আপনার কোড $('<a />',{'href': url, 'target', '_blank'}).get(0).click();
সরীকরণ

5
@ শ্যাডরিচ আপনার ছিটিয়ে থাকা দ্বারা অনুপ্রাণিত হয়ে আমি নন- Object.assign(document.createElement('a'), { target: '_blank', href: 'URL_HERE'}).click();
জিকুরি

এটি এফএফ তে কাজ করে না!
নলেশ

91

আপনি যদি ব্যবহার করেন তবে window.open(url, '_blank')এটি Chrome এ অবরুদ্ধ করা হবে (পপআপ ব্লকার)।

এটা চেষ্টা কর:

//With JQuery

$('#myButton').click(function () {
    var redirectWindow = window.open('http://google.com', '_blank');
    redirectWindow.location;
});

খাঁটি জাভাস্ক্রিপ্ট সহ,

document.querySelector('#myButton').onclick = function() {
    var redirectWindow = window.open('http://google.com', '_blank');
    redirectWindow.location;
};

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

এটি পাওয়া গেছে যে এটি জেএস ফিডাল এবং প্লঙ্কারটিতে কাজ করে না, তবে আপনি যখন এইচটিএমএল ফাইল তৈরি করেন তখন কাজ করে। এটি কারণ জেএস ফিডাল, আউটপুট যদি ইফ্রেমে প্রদর্শিত হয়, তবে নতুন উইন্ডোটি এর কারণে অবরুদ্ধ হয়ে গেছেthe request was made in a sandboxed frame whose 'allow-popups' permission is not set
মোহাম্মদ সেফার

67

স্টিভেন স্পিলবার্গের উত্তরটি বিস্তারিতভাবে জানাতে, আমি এই জাতীয় ক্ষেত্রে এটি করেছি:

$('a').click(function() {
  $(this).attr('target', '_blank');
});

এইভাবে, ব্রাউজারটি লিংকটি অনুসরণ করবে তার আগে আমি লক্ষ্যটির বৈশিষ্ট্যটি নির্ধারণ করি, সুতরাং এটি লিঙ্কটি একটি নতুন ট্যাব বা উইন্ডোতে উন্মুক্ত করে দেবে ( ব্যবহারকারীর সেটিংসের উপর নির্ভর করে )।

জিকুয়েরিতে একটি লাইনের উদাহরণ:

$('a').attr('target', '_blank').get(0).click();
// The `.get(0)` must be there to return the actual DOM element.
// Doing `.click()` on the jQuery object for it did not work.

এটি কেবল নেটিভ ব্রাউজার ডিওএম এপিআই ব্যবহার করেও সম্পন্ন করা যায়:

document.querySelector('a').setAttribute('target', '_blank');
document.querySelector('a').click();

57

আমি নিম্নলিখিতটি ব্যবহার করি এবং এটি খুব ভালভাবে কাজ করে!

window.open(url, '_blank').focus();

2
এটি ব্রাউজার সেটিংসের উপর নির্ভর করে কোনও নতুন ট্যাব বা উইন্ডোতে খুলতে পারে। প্রশ্নটি বিশেষত একটি নতুন ট্যাবে খোলার বিষয়ে, এমনকি যদি পছন্দগুলি নতুন উইন্ডোর হয়।
কুইন্টিন

19

আমি মনে করি আপনি এটি নিয়ন্ত্রণ করতে পারবেন না। ব্যবহারকারী যদি একটি নতুন উইন্ডোতে লিঙ্কগুলি খুলতে তাদের ব্রাউজারটি সেটআপ করে থাকেন তবে আপনি এটিকে নতুন ট্যাবে লিঙ্কগুলি খুলতে বাধ্য করতে পারবেন না।

জাভাস্ক্রিপ্ট একটি নতুন উইন্ডোতে খুলবে, ট্যাবে নয়


19

একটি আকর্ষণীয় সত্য হ'ল নতুন ট্যাবটি খুলতে পারবেন না যদি ব্যবহারকারী দ্বারা ক্রিয়াটি না চাওয়া হয় (বোতাম বা কোনও কিছুতে ক্লিক করা) বা যদি এটি অ্যাসিঙ্ক্রোনাস হয়, উদাহরণস্বরূপ, এটি নতুন ট্যাবে খুলবে না:

$.ajax({
    url: "url",
    type: "POST",
    success: function() {
        window.open('url', '_blank');              
    }
});

তবে এটি ব্রাউজার সেটিংসের উপর নির্ভর করে একটি নতুন ট্যাবে খুলতে পারে:

$.ajax({
    url: "url",
    type: "POST",
    async: false,
    success: function() {
        window.open('url', '_blank');              
    }
});

2
এটি ফায়ারফক্স 28, ক্রোম 34 বি, এবং সাফারি 7.0.2, সমস্ত স্টক সেটিংসে পপআপ হিসাবে অবরুদ্ধ হচ্ছে। :(
স্টিভ মেইজনার

1
"যদি ক্রিয়াটি ব্যবহারকারী দ্বারা (একটি বোতাম বা কোনও কিছুতে ক্লিক করা) না চাওয়া হয় বা এটি যদি অ্যাসক্রোনাস হয় তবে নতুন ট্যাবটি খুলতে পারবেন না" - ক্রোমের ক্ষেত্রে সত্য, তবে সমস্ত ব্রাউজারগুলির ক্ষেত্রে এটি সত্য নয়। <script>open('http://google.com')</script>একটি .htmlফাইলে সংরক্ষণ করুন এবং এটি ফায়ারফক্সের সাম্প্রতিক সংস্করণটির একটি নতুন ইনস্টলে খুলুন; আপনি লক্ষ্য করবেন যে ফায়ারফক্স সুখে Google একটি নতুন ট্যাবে খুলবে (সম্ভবত আপনি এটি পপআপগুলি অনুমতি দেওয়ার জন্য বলার পরে), একটি নতুন উইন্ডো নয়।
মার্ক আমেরিকা

13

কেবলমাত্র [strWindowFishesures] পরামিতিগুলি বাদ দিয়ে একটি নতুন ট্যাব খুলবে, ব্রাউজার সেটিং ওভাররাইডগুলি অপসারণ করবে (ব্রাউজার সেটিং জাভাস্ক্রিপ্ট ট্রাম্প করে)।

নতুন জানালা

var myWin = window.open(strUrl, strWindowName, [strWindowFeatures]);

নতুন ট্যাব

var myWin = window.open(strUrl, strWindowName);

- বা -

var myWin = window.open(strUrl);

11
(function(a){
document.body.appendChild(a);
a.setAttribute('href', location.href);
a.dispatchEvent((function(e){
    e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
    return e
}(document.createEvent('MouseEvents'))))}(document.createElement('a')))

11

আপনি এর সাথে একটি কৌশল ব্যবহার করতে পারেন form:

$(function () {
    $('#btn').click(function () {
        openNewTab("http://stackoverflow.com")
        return false;
    });
});

function openNewTab(link) {
    var frm = $('<form   method="get" action="' + link + '" target="_blank"></form>')
    $("body").append(frm);
    frm.submit().remove();
}

jsFizz ডেমো


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

এটি আরও সহজেই aকোনও ফর্মের পরিবর্তে কোনও ট্যাগ দিয়ে এবং jQuery .click()পদ্ধতিটি এটি "জমা দেওয়ার" জন্য ব্যবহার করে আরও সহজভাবে করা যায়। পরীক্ষা আমার উত্তর

10

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

এই পৃষ্ঠায়, একটি জাভাস্ক্রিপ্ট কনসোল খুলুন এবং টাইপ করুন:

document.getElementById("nav-questions").setAttribute("target", "_blank");
document.getElementById("nav-questions").click();

এবং এটি আপনার সেটিংস নির্বিশেষে একটি পপআপ খোলার চেষ্টা করবে, কারণ 'ক্লিক' একটি কাস্টম ক্রিয়া থেকে আসে।

কোনও লিঙ্কটিতে একটি আসল 'মাউস ক্লিক' এর মতো আচরণ করার জন্য আপনাকে @ স্পিরিনভ্লাদিমিরের পরামর্শ অনুসরণ করতে হবে এবং সত্যই এটি তৈরি করতে হবে:

document.getElementById("nav-questions").setAttribute("target", "_blank");
document.getElementById("nav-questions").dispatchEvent((function(e){
  e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
                    false, false, false, false, 0, null);
  return e
}(document.createEvent('MouseEvents'))));

এখানে একটি সম্পূর্ণ উদাহরণ রয়েছে ( jsFizz বা অনুরূপ অনলাইন সম্পাদকগুলিতে এটি চেষ্টা করবেন না , কারণ এটি আপনাকে সেখান থেকে বাহ্যিক পৃষ্ঠাগুলিতে পুনঃনির্দেশ করতে দেয় না):

<!DOCTYPE html>
<html>
<head>
  <style>
    #firing_div {
      margin-top: 15px;
      width: 250px;
      border: 1px solid blue;
      text-align: center;
    }
  </style>
</head>
<body>
  <a id="my_link" href="http://www.google.com"> Go to Google </a>
  <div id="firing_div"> Click me to trigger custom click </div>
</body>
<script>
  function fire_custom_click() {
    alert("firing click!");
    document.getElementById("my_link").dispatchEvent((function(e){
      e.initMouseEvent("click", true, true, window, /* type, canBubble, cancelable, view */
            0, 0, 0, 0, 0,              /* detail, screenX, screenY, clientX, clientY */
            false, false, false, false, /* ctrlKey, altKey, shiftKey, metaKey */
            0, null);                   /* button, relatedTarget */
      return e
    }(document.createEvent('MouseEvents'))));
  }
  document.getElementById("firing_div").onclick = fire_custom_click;
</script>
</html>

1
আমি একটি ভিন্ন সমাধানে গিয়ে শেষ করেছি যেখানে আমি andandystratton.com/2012/…w = window.open("placeholder"); $.ajax(...ajax call that returns the url...) success (...w.location = data.url...) অনুযায়ী করি
পল

11
@ ফাহাদআবিদজানজুয়া এটি একেবারেই সঠিক নয়এটি এখনও ব্রাউজার সেটিংসের উপর নির্ভর করে। এইচটিএমএল বা জাভাস্ক্রিপ্ট স্পেসিফিকেশনে এমন কোনও কিছুই নেই যা ঘোষণা করে যে একটি "কাস্টম অ্যাকশন" অবশ্যই একটি ট্যাব পরিবর্তে পপআপে খুলতে হবে। আসলে, আমার বর্তমান মেশিনের কোনও ব্রাউজারই এই আচরণটি প্রদর্শন করে না।
nmclean

7
function openTab(url) {
  const link = document.createElement('a');
  link.href = url;
  link.target = '_blank';
  document.body.appendChild(link);
  link.click();
  link.remove();
}

1
এটি ব্রাউজার সেটিংসের উপর নির্ভর করে কোনও নতুন ট্যাব বা উইন্ডোতে খুলতে পারে। প্রশ্নটি বিশেষত একটি নতুন ট্যাবে খোলার বিষয়ে, এমনকি যদি পছন্দগুলি নতুন উইন্ডোর হয়।
কুইন্টিন

3

JQuery

$('<a />',{'href': url, 'target': '_blank'}).get(0).click();

জাতীয়

Object.assign(document.createElement('a'), { target: '_blank', href: 'URL_HERE'}).click();

এটি ব্রাউজার সেটিংসের উপর নির্ভর করে কোনও নতুন ট্যাব বা উইন্ডোতে খুলতে পারে। প্রশ্নটি বিশেষত একটি নতুন ট্যাবে খোলার বিষয়ে, এমনকি যদি পছন্দগুলি নতুন উইন্ডোর হয়।
কুইন্টিন

2

অথবা আপনি কেবল একটি লিঙ্ক উপাদান তৈরি করতে এবং এটি ক্লিক করতে পারেন ...

var evLink = document.createElement('a');
evLink.href = 'http://' + strUrl;
evLink.target = '_blank';
document.body.appendChild(evLink);
evLink.click();
// Now delete it
evLink.parentNode.removeChild(evLink);

এটি কোনও পপআপ ব্লকারদের দ্বারা অবরুদ্ধ করা উচিত নয় ... আশা করি।


2

এই প্রশ্নের উত্তর আছে এবং এটি হ'ল না।

আমি চারপাশে একটি সহজ কাজ পেয়েছি:

পদক্ষেপ 1: একটি অদৃশ্য লিঙ্ক তৈরি করুন:

<a id="yourId" href="yourlink.html" target="_blank" style="display: none;"></a>

পদক্ষেপ 2: প্রোগ্রামটিতে সেই লিঙ্কটিতে ক্লিক করুন:

document.getElementById("yourId").click();

এই যে! আমার জন্য একটি কবজ কাজ করে।


এটি ব্রাউজার সেটিংসের উপর নির্ভর করে কোনও নতুন ট্যাব বা উইন্ডোতে খুলতে পারে। প্রশ্নটি বিশেষত একটি নতুন ট্যাবে খোলার বিষয়ে, এমনকি যদি পছন্দগুলি নতুন উইন্ডোর হয়।
কুইন্টিন

1

এখানে চিত্র বর্ণনা লিখুন

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

// init urls
let newUrl = 'http://example.com';
let currentUrl = window.location.href;
// open window with url of current page, you will be automatically moved 
// by browser to a new opened tab. It will look like your page is reloaded
// and you will stay on same page but with new page opened
window.open(currentUrl , '_blank');
// on your current tab will be opened new url
location.href = newUrl;

প্রশ্নটি যখন নতুন উইন্ডোতে তাদের খুলতে ব্যবহারকারীর পছন্দ হয় তখন একটি নতুন ট্যাব খোলার বিষয়ে। এটি একই সাথে বিদ্যমান ট্যাবে অন্য একটি URL খোলার সময় কোনও নতুন ট্যাবে কীভাবে একটি URL খুলবেন তা জিজ্ঞাসা করছে না।
কুইন্টিন

0

কিভাবে একটি তৈরি সম্পর্কে <a>সঙ্গে _blankযেমন targetঅ্যাট্রিবিউট মান এবংurl যেমনhref শৈলী প্রদর্শনের সাথে: এএ শিশুদের উপাদান লুকানো? তারপরে DOM এ যুক্ত করুন এবং তারপরে বাচ্চাদের উপাদানটিতে ক্লিক ইভেন্টটি ট্রিগার করুন।

হালনাগাদ

যে কাজ করে না। ব্রাউজারটি ডিফল্ট আচরণকে বাধা দেয়। এটি প্রোগ্রামগতভাবে ট্রিগার হতে পারে, কিন্তু এটি ডিফল্ট আচরণ অনুসরণ করে না।

নিজের জন্য দেখুন এবং দেখুন: http://jsfiddle.net/4S4ET/


-1

ফায়ারফক্সের (মজিলা) এক্সটেনশনের মধ্যে থেকে একটি নতুন ট্যাব খোলার পথটি এরকম হয়:

gBrowser.selectedTab = gBrowser.addTab("http://example.com");

-1

এই উপায়টি উপরের সমাধানের মতো তবে ভিন্নভাবে প্রয়োগ করা হয়েছে

.social_icon -> CSS সহ কিছু শ্রেণি

 <div class="social_icon" id="SOME_ID" data-url="SOME_URL"></div>


 $('.social_icon').click(function(){

        var url = $(this).attr('data-url');
        var win = window.open(url, '_blank');  ///similar to above solution
        win.focus();
   });

-1

এটি হ্যাক হতে পারে তবে ফায়ারফক্সে যদি আপনি একটি তৃতীয় প্যারামিটার, 'ফুলস্ক্রিন = হ্যাঁ' নির্দিষ্ট করেন তবে এটি একটি নতুন নতুন উইন্ডো খুলবে।

উদাহরণ স্বরূপ,

<a href="#" onclick="window.open('MyPDF.pdf', '_blank', 'fullscreen=yes'); return false;">MyPDF</a>

দেখে মনে হচ্ছে এটি ব্রাউজার সেটিংসকে ওভাররাইড করে।


-1

আমার জন্য এই কাজটি, কেবল ইভেন্টটি প্রতিরোধ করুন, <a> tagতারপরে url যুক্ত করুন তারপরে ক্লিক ইভেন্টটি ট্রিগার করুন tag

Js
$('.myBtn').on('click', function(event) {
        event.preventDefault();
        $(this).attr('href',"http://someurl.com");
        $(this).trigger('click');
});
HTML
<a href="#" class="myBtn" target="_blank">Go</a>

এটি ব্রাউজার সেটিংসের উপর নির্ভর করে কোনও নতুন ট্যাব বা উইন্ডোতে খুলতে পারে। প্রশ্নটি বিশেষত একটি নতুন ট্যাবে খোলার বিষয়ে, এমনকি যদি পছন্দগুলি নতুন উইন্ডোর হয়।
কুইন্টিন

-1

window.open(url)নতুন ব্রাউজার ট্যাবে URL খুলবে। এর নীচে জেএস বিকল্প রয়েছে

let a= document.createElement('a');
a.target= '_blank';
a.href= 'https://support.wwf.org.uk/';
a.click(); // we don't need to remove 'a' from DOM because we not add it

এখানে কাজের উদাহরণ রয়েছে (স্ট্যাকওভারফ্লো স্নিপেটগুলি নতুন ট্যাব খোলার অনুমতি দেয় না)


"উইন্ডো.পেন (ইউআরএল) নতুন ব্রাউজার ট্যাবে ইউআরএল খুলবে" - এটি একটি নতুন উইন্ডো বা একটি নতুন ট্যাবের ব্যবহারকারীর পছন্দ অনুসরণ করবে। পছন্দটি যখন উইন্ডোর জন্য থাকে তখন এটি কোনও নতুন ট্যাবকে জোর করে না। (যা নিয়ে প্রশ্নটি রয়েছে)। লক্ষ্য = _ব্ল্যাঙ্কের ক্ষেত্রেও একই প্রযোজ্য।
কোয়ান্টিন

আপনার প্রস্তাবিত উভয় পদ্ধতিরই এই প্রশ্নের পূর্ববর্তী ৫ und টি অপলিট উত্তরগুলির মধ্যে বহুবার উল্লেখ করা হয়েছে (এবং সমালোচনা করা হয়েছে)।
কোয়ান্টিন

-1

নতুন ট্যাব বা একটি নতুন উইন্ডোতে ইউআরএল খুলতে হবে তা ব্যবহারকারীর ব্রাউজারের পছন্দগুলি দ্বারা নিয়ন্ত্রিত। এটি জাভাস্ক্রিপ্টে ওভাররাইড করার কোনও উপায় নেই।

window.open()এটি কীভাবে ব্যবহৃত হচ্ছে তার উপর নির্ভর করে ভিন্ন আচরণ করে। যদি এটি ব্যবহারকারীর ক্রিয়াটির প্রত্যক্ষ ফলাফল হিসাবে ডাকা হয় তবে আসুন একটি বোতাম ক্লিক করুন, এটি ভাল কাজ করে এবং একটি নতুন ট্যাব (বা উইন্ডো) খুলতে হবে:

const button = document.querySelector('#openTab');

// add click event listener
button.addEventListener('click', () => {
    // open a new tab
    const tab = window.open('https://attacomsian.com', '_blank');
});

তবে, আপনি যদি একটি এজেএক্স অনুরোধ কলব্যাক থেকে একটি নতুন ট্যাব খোলার চেষ্টা করেন , ব্রাউজারটি এটি সরাসরি ব্যবহারকারীর ক্রিয়া হিসাবে এটি ব্লক করবে।

করতে পপআপ ব্লকার বাইপাস এবং একটি কলব্যাক থেকে একটি নতুন ট্যাব খুলুন, এখানে হয় সামান্য হ্যাক :

const button = document.querySelector('#openTab');

// add click event listener
button.addEventListener('click', () => {

    // open an empty window
    const tab = window.open('about:blank');

    // make an API call
    fetch('/api/validate')
        .then(res => res.json())
        .then(json => {

            // TODO: do something with JSON response

            // update the actual URL
            tab.location = 'https://attacomsian.com';
            tab.focus();
        })
        .catch(err => {
            // close the empty window
            tab.close();
        });
});

-1

আমি এইভাবে চেষ্টা করেছি এবং মনে হচ্ছে এটি ঠিক আছে

window.open('example.com', 'newWin');

আমি এখানে প্রচুর কাজের উদাহরণ পেয়েছি:

http://www.gtalbot.org/FirefoxSection/Popup/PopupAndFirefox.html#TestPopupControl


এটি ব্যবহারকারীর পছন্দ অনুযায়ী নতুন ট্যাব বা উইন্ডোতে খুলবে। এটি কোনও নতুন ট্যাবকে জোর করবে না যা প্রশ্নটিই।
কোয়ান্টিন

যখন ওপি ইতিমধ্যে এটি চেষ্টা করেছিল তখন আপনি প্রশ্নের কিছুটা মিস করেছেন? বা স্ট্যাকওভারফ্লো . com / a / 59565074 / 19068 ? বা স্ট্যাকওভারফ্লো . com / a / 35939565 / 19068 ? বা স্ট্যাকওভারফ্লো . com / a / 30512485 / 19068 ? বা স্ট্যাকওভারফ্লো . com / a / 11384018 / 19068 ? বা স্ট্যাকওভারফ্লো . com / a / 26990478 / 19068 ?
কোয়ান্টিন

@ কুইন্টিন আমি সেই অংশটি মিস করেছি, কিন্তু যখন আমি দ্বিতীয় প্যারামিটার window উইন্ডো নাম »এর সাথে« _blank »এর সমান বা এটি কিছু না করে কল করার চেষ্টা করেছি, পপআপ বা নতুন ট্যাব সর্বশেষ গুগল ক্রোমে হাজির হয়নি। আমি যখন উইন্ডোর নামটি «newWin to এ পরিবর্তন করেছি, তখন একটি নতুন ট্যাব খোলা হয়েছিল। এটি আজব কারণ উইন্ডো নামের প্যারামিটারটি optionচ্ছিক।
আর্টেম শেভতসভ

-4

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

যাইহোক, অন্য ব্যক্তি যে উপস্থাপন করেছিলেন তার সদ্ব্যবহার করার একটি কম জটিল উপায় আছে। ধরে নিই আমরা আপনার নিজের ওয়েবসাইট (নীচে "thissite.com") সম্পর্কে কথা বলছি, যেখানে আপনি ব্রাউজারটি যা করে তা নিয়ন্ত্রণ করতে চান, তারপরে নীচে আপনি "স্পেশালপেজ.টি.টি.এম." ইএমপিটিওয়াই করতে চান, এতে কোনও HTML নেই ( সার্ভার থেকে ডেটা প্রেরণে সময় বাঁচায়!)।

 var wnd, URL;  //global variables

 //specifying "_blank" in window.open() is SUPPOSED to keep the new page from replacing the existing page
 wnd = window.open("http://www.thissite.com/specialpage.htm", "_blank"); //get reference to just-opened page
 //if the "general rule" above is true, a new tab should have been opened.
 URL = "http://www.someothersite.com/desiredpage.htm";  //ultimate destination
 setTimeout(gotoURL(),200);  //wait 1/5 of a second; give browser time to create tab/window for empty page


 function gotoURL()
 { wnd.open(URL, "_self");  //replace the blank page, in the tab, with the desired page
   wnd.focus();             //when browser not set to automatically show newly-opened page, this MAY work
 }

-7

আপনি যদি কেবলমাত্র বাহ্যিক লিঙ্কগুলি (যে লিঙ্কগুলি অন্য সাইটগুলিতে যান) খুলতে চান তবে জাভাস্ক্রিপ্ট / jQuery এই বিটটি ভালভাবে কাজ করে:

$(function(){
    var hostname = window.location.hostname.replace('www.', '');
    $('a').each(function(){
        var link_host = $(this).attr('hostname').replace('www.', '');
        if (link_host !== hostname) {
            $(this).attr('target', '_blank');
        }
    });
});

এই প্রতিক্রিয়াটি এই প্রশ্নের পক্ষে উপযুক্ত নয় B তবে এটি খুব কার্যকর মনে হয়! আপনার ধারণার জন্য আপনাকে ধন্যবাদ!
নুরি আকমান

-9

লিঙ্কটি একই ডোমেনে (একই ওয়েবসাইটে) থাকলে ব্রাউজারটি সর্বদা নতুন ট্যাবে লিঙ্কটি খুলবে। লিঙ্কটি যদি অন্য কোনও ডোমেনে থাকে তবে এটি ব্রাউজার সেটিংসের উপর নির্ভর করে এটি একটি নতুন ট্যাব / উইন্ডোতে খুলবে।

সুতরাং, এই অনুসারে, আমরা ব্যবহার করতে পারি:

<a class="my-link" href="http://www.mywebsite.com" rel="http://www.otherwebsite.com">new tab</a>

এবং কিছু jQuery কোড যুক্ত করুন:

jQuery(document).ready(function () {
    jQuery(".my-link").on("click",function(){
        var w = window.open('http://www.mywebsite.com','_blank');
        w.focus();
        w.location.href = jQuery(this).attr('rel');
        return false;
    });
});

সুতরাং, প্রথমে _blank টার্গেট সহ একই ওয়েবসাইটে নতুন উইন্ডোটি খুলুন (এটি এটি নতুন ট্যাবে খুলবে) এবং তারপরে সেই নতুন উইন্ডোর অভ্যন্তরে আপনার পছন্দসই ওয়েবসাইটটি খুলুন।

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