প্রোগ্রামগুলিতে ট্যাবগুলিতে নতুন পৃষ্ঠা খুলুন


100

আমি সাফারি বা আই 7 কে একটি নতুন ট্যাব ব্যবহার করে একটি নতুন পৃষ্ঠা খুলতে "বাধ্য" করার চেষ্টা করছি ।

প্রোগ্রামগতভাবে আমি এরকম কিছু বোঝাতে চাইছি:

window.open('page.html','newtaborsomething');

4
আমি নিশ্চিত যে আমি পয়েন্টটি পেয়েছি - আপনি কি এমন একটি অ্যাপ তৈরি করছেন যা আইইয়ের সাথে কাজ করে এবং আপনি প্রতিটি নতুন পৃষ্ঠা নতুন ট্যাবে খুলতে চান? অথবা আপনি কোনও লিঙ্কে ক্লিক করার পরে নতুন ট্যাব খুলতে আইই সেট আপ করতে চান? অথবা আপনি আরও লিঙ্ক সহ কোনও সাইট তৈরি করছেন এবং আপনি সেগুলি আলাদাভাবে খুলতে চান? প্লিজ এটি পরিষ্কার করে তোলে।
ডুঙ্গিও

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

উত্তর:


63

আপনি সরাসরি এটি নিয়ন্ত্রণ করতে পারবেন না, কারণ এটি ইন্টারনেট এক্সপ্লোরার ব্যবহারকারীদের দ্বারা নিয়ন্ত্রিত একটি বিকল্প।

উইন্ডো.ওপেন ব্যবহার করে একটি ভিন্ন উইন্ডো নাম ব্যবহার করে পৃষ্ঠাগুলি খোলার ফলে পপআপের মতো একটি নতুন ব্রাউজার উইন্ডোতে খোলা হবে বা ব্যবহারকারী যদি ব্রাউজারটি এটির জন্য কনফিগার করে থাকে তবে।


"ইন্টারনেট এক্সপ্লোরার কীভাবে পপআপগুলি খুলবে" বিকল্পটি নির্বাচন করা হয়, ইন্টারনেট এক্সপ্লোরার এই সিদ্ধান্ত নিতে কোন মানদণ্ড ব্যবহার করে?
ডেড। রবিট

114

আপনি, ফায়ারফক্সে এটি কাজ করতে পারে, একটি নতুন ট্যাব খোলার জন্য জোর করে অ্যাঙ্করটিতে টার্গেট = "_ নিউট্যাব" যোগ করতে পারেন add

<a href="some url" target="_newtab">content of the anchor</a>

জাভাস্ক্রিপ্ট আপনি ব্যবহার করতে পারেন

window.open('page.html','_newtab');

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

এটি অন্য ব্রাউজারেও কাজ করে কিনা তা আমাকে জানান (এই মুহূর্তে ফায়ারফক্সের চেয়ে অন্য ব্রাউজারে চেষ্টা করার সুযোগ আমার নেই)।

সম্পাদনা করুন: আই 7 এর জন্য যুক্ত রেফারেন্স সম্ভবত এই লিঙ্কটি কার্যকর হতে পারে
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/


6
এই ফায়ারফক্স টিপটির জন্য ধন্যবাদ, এখন আমি "_নেটটাব" এবং "নিউট্যাব" সরাতে আমার টার্গেটকিলার অ্যাডন আপডেট করেছি updated : পি
থেনহ্যাকার

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

4
সমস্ত বিল্ড / প্ল্যাটফর্মের ক্ষেত্রে এটি নাও হতে পারে তবে লিনাক্সের ফায়ারফক্স ৩.৫ আপনাকে একাধিক বার এটি করার অনুমতি দেয় না ... যদি আপনার পৃষ্ঠায় একাধিক লক্ষ্য = "_ নিউট্যাব" লিঙ্ক থাকে, তাদের যে কোনও একটিতে ক্লিক করে কেবলমাত্র একটি একক নতুন ট্যাবকে পপুলেট করবে ... অর্থাৎ পরবর্তী ক্লিকগুলি সেই ট্যাবটিতে পূর্বে খোলার যে কোনও কিছুই ওভাররাইট করে। আমাকে মনে করে যে এটি ব্রাউজার-নির্দিষ্ট কাজের ভিত্তিতে না হয়ে আসলে "_newtab" নামে একটি ট্যাব খুলছে।
রাইলি করাদিনি

55
আমি নিশ্চিত যে "_নেতাব" অর্থহীন, যদি না এর বিপরীতে কারও কাছে ডকুমেন্টেশন থাকে। আপনি যা করছেন তা সবই একটি উইন্ডো খুলছে যার নাম _ নিউট্যাব (যে কারণে সেই টার্গেটের সাথে পরবর্তী সমস্ত লিঙ্ক একই উইন্ডোতে খোলে)। আপনি "foo" বা "বার" লক্ষ্য করে একই আচরণ দেখতে পারেন। একমাত্র সুপরিচিত টার্গেটগুলি হ'ল_ব্ল্যাঙ্ক, _ নিজে, _ পিতামাতা এবং _ টপ। এইচটিএমএল কোডেউটোরিয়াল.লিংকিং__এ_টারাগেট.ইচটিএমএল
টম লিয়াঞ্জা

44

আপনারা যারা নিম্নলিখিতটি ব্যবহারের চেষ্টা করছেন:

window.open('page.html', '_newtab');

উইন্ডো.পেন পদ্ধতিতে সত্যই নজর দেওয়া উচিত।

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

আপনি যদি বিভিন্ন উইন্ডো বা ট্যাবগুলিতে বিভিন্ন পৃষ্ঠাগুলি খুলতে চান তবে আপনাকে নতুন উইন্ডো / ট্যাবটির নাম পরিবর্তন করতে হবে যেমন:

window.open('page2.html', '_newtab2');

অবশ্যই নতুন উইন্ডো / ট্যাবের নাম _Nwtab2 এর পরিবর্তে পেজ 1, পৃষ্ঠা 2, পৃষ্ঠা 3 ইত্যাদির মতো কোনও নাম হতে পারে।


4
তার জিনিস জানেন। '_নেতাব' কোনও সংরক্ষিত নাম নয়। '_ব্ল্যাঙ্ক' একটি বিশেষ জিনিস যা অন্য একটি অনির্দিষ্ট ও নামবিহীন উইন্ডো / ট্যাব খুলবে - এটি আপনি বারবার ব্যবহার করতে পারবেন। '_newtab' বিশেষ নয় তবে এটি নির্দিষ্ট নাম যা আপনি একটি নতুন ট্যাব (ডিফল্ট) বা উইন্ডো দিয়েছেন, যা আপনার ব্রাউজারটি আপনাকে যে কোনও url এ প্রেরণ করে তা সতেজ রাখে।
ব্র্যাডচেসনি 79

15

তারা নতুন ট্যাব বা নতুন উইন্ডো ব্যবহার করতে চায় কিনা তা ব্যবহারকারীর উপর নির্ভর করে, এই আচরণটি সংশোধন করা বিকাশকারীদের ব্যবসা নয়। আমি মনে করি না আপনি এটি করতে পারেন।

আমার পোষ্যের উঁকি - সাইটগুলি যখন আমাকে নতুন উইন্ডো / ট্যাবে খুলতে বাধ্য করে তখন আমি এটিকে ঘৃণা করি - আমি নিজের পক্ষে সিদ্ধান্ত নিতে যথেষ্ট সক্ষম am বিশেষত যখন তারা এটি জাভাস্ক্রিপ্টে করে থাকে - এটি সত্যই অসহনীয়।


4
স্যাম থেকে +1 - ট্যাব বা উইন্ডোতে খোলার নতুন পৃষ্ঠাগুলি একটি ব্রাউজার (এবং ব্যবহারকারী) নির্দিষ্ট পছন্দ। কোনও সাইট কোনও নতুন উইন্ডো খুললে সাধারণভাবে আমি এটি ঘৃণা করি।
রিচার্ড ইভ

এটির পাশাপাশি: "কঠোর" সংজ্ঞায়, ব্যবহারকারীকে বিরক্ত না করার কারণে কোনও বৈধ বৈশিষ্ট্য "টার্গেট" নেই। এটি ব্যবহার করে দেখুন: বৈধতা।
W3.org

4
আমি বাড়িতে ট্যাবগুলির ব্যাচগুলি খোলার পছন্দ করি, তাই আমি সেই ক্ষেত্রে ব্যবহারকারী। ব্যতিক্রম আছে কেবল যে অনুস্মারক।
এস্কেল

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

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

8

আপনি কি ইতিমধ্যে চেষ্টা করেছেন?

var open_link = window.open('','_blank');
open_link.location="somepage.html";

এই ক্রস ব্রাউজারটি কি সামঞ্জস্যপূর্ণ? ভবিষ্যতে সংস্করণ বা অন্যান্য ব্রাউজারগুলি সম্পর্কে উদ্বিগ্ন, IE8 এ কাজ করার জন্য মনে হচ্ছে।
n00b

হ্যাঁ .. এটি ক্রস ব্রাউজারের জন্য উপযুক্ত। আমি এখন পর্যন্ত এটি নিয়ে কোনও সমস্যা পাইনি: ডি
থুরিন সোয়ে

5

আমি ক্রোমে খুঁজে পেয়েছি,

window.open('page.html','_newtab')

শুধুমাত্র একবার কাজ করবে।

তুমি ব্যবহার করতে পার:

window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));

একাধিক নতুন ট্যাব খুলতে।


10
এটি কারণ ক্রোমে, _নেতাব কেবল একটি নাম এবং আপনি "_newtab" নামক ট্যাবে পৃষ্ঠাটি খুলতে অনুরোধ করছেন
w00t

3

আমি jQuery এর সাথে কোডটি ব্যবহার করি:

$("a.btn_external").click(function() {
    url_to_open = $(this).attr("href");
    window.open(url_to_open, '_blank');
    return false;
});

কোনও সন্তানের পিতামাতার ক্লিক ইভেন্টগুলির মধ্যে পার্থক্য করতে এটি দরকারী। এই পদ্ধতিটি ব্যবহার করে আপনি পিতামাতার ক্লিক ইভেন্টটি ট্রিগার করবেন না।


8
সাদামাটা পুরানো এইচটিএমএল ব্যবহার করছেন না কেন? <a href="page.html" target="_blank">foo</a>
পিক্সেলাস্টিক

4
@ পিক্সেলাস্টিক "এই পদ্ধতিটি ব্যবহার করে আপনি পিতামাতার ক্লিক ইভেন্টটি ট্রিগার করবেন না।"
মাইকেল ব্ল্যাকবার্ন 15


0

আপনি চাইলে এই পদ্ধতিটি ব্যবহার করতে পারতেন, যা কিছুটা হ্যাকি তবে এটি পছন্দসই কার্যকারিতা সরবরাহ করে:

jQuery('<a/>', {
    id: 'foo',
    href: 'http://google.com',
    title: 'Become a Googler',
    rel: 'external',
    text: 'Go to Google!',
    target:'_blank',
    style:'display:none;'
}).appendTo('#mySelector');

$('#foo').click()

আপনি একটি jsfiddle প্রদান করতে পারেন?
জেনোলজি

-2

আপনি যদি কোনও ব্যাচের ফাইল কল করতে পারেন তবে এটি কাজ করতে পারে (আমি এক্সপি এসপি 2 এবং আই 8 এর সাথে পিএইচপি ব্যবহার করি ... আপনি আই 7 চেষ্টা করতে পারেন, ডুনো)। উইন্ডোজ খোলার জন্য আপনার .bat ফাইলে নিম্নলিখিত (বা অনুরূপ) ব্যবহার করুন: "" সি: \ প্রোগ্রা ~ 1 \ অভ্যন্তরীণ ~ 1 \ ie এক্সপ্লোর "http://www.site.com" শুরু করুন। উদ্ধৃতি চিহ্ন এবং সি: r প্রগ্রে ... ইত্যাদির মধ্যে কোনও স্থান নেই, এক পর্যায়ে এটি নতুন ট্যাবগুলির পরিবর্তে নতুন উইন্ডোগুলি (অর্থাত্ লক্ষ্য = "_ ফাঁকা") খুলতে শুরু করতে পারে তবে একটি বিন্দু পর্যন্ত কাজ করে; ব্যাপকভাবে পরীক্ষা করা হয় না। এটি নিয়মিত ব্যাচ ফাইলে (সিএমডি.এক্সই) ব্যবহার করতে আপনার ইতিমধ্যে একটি উইন্ডো খোলা থাকতে হবে। আমি হোঁচট খেয়েছি এমন কিছু ভাগ করে নিচ্ছি। স্পষ্টকরণের জন্য সম্পাদিত।


-7
<a href="http://www.google.com/" target="_self">New Tab Example</a>

আই 7 এ কাজ করে।

শুভেচ্ছা,

গ্লেন


8
গ্লেন এটি ওপি যা চেয়েছিল তার বিপরীত। _ নিজেই একই উইন্ডো বা ফ্রেমে নথিটি খুলবে will
ট্র্যাভেলগা

এছাড়াও এটি প্রোগ্রাম্যাটিক উপায়ে খোলার উপায় নয়। আশ্চর্যের বিষয় হ'ল এটি কীভাবে এই উত্তরের সাথে +10 প্রতিনিধি (+ 3 / -10) লাভ করে।
ভাসান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.