আমি কীভাবে একটি নতুন উইন্ডোতে একটি লিঙ্ক খুলতে পারি?


94

আমার কাছে একটি নির্দিষ্ট লিঙ্কের একটি ক্লিক হ্যান্ডলার রয়েছে, এর ভিতরে আমি নীচের মতো কিছু করতে চাই:

window.location = url

নতুন উইন্ডোতে ইউআরএলটি খোলার জন্য আমার এটি দরকার তবে আমি কীভাবে এটি করব?

উত্তর:


204

আপনি পছন্দ করতে পারেন:

window.open('url', 'window name', 'window settings')

jQuery:

$('a#link_id').click(function(){
  window.open('url', 'window name', 'window settings');
  return false;
});

আপনি আসলে সেট করতে targetপারে _blank


তবে এই jquery কোডটি স্বয়ংক্রিয়ভাবে
লক্ষ্য্যে

26
_ব্ল্যাঙ্কটি ডিফল্ট লক্ষ্য, সুতরাং
উইন্ডো.পেন

নিশ্চিত নয় যে ঠিক একই সমস্যা হবে এবং ঠিক একই রকম নয় তবে আমি কোনও ফাইল ডাউনলোড করার জন্য একই সমাধানের সন্ধান করছিলাম (কোনও লিঙ্ক নয় তবে একটি বোতাম থেকে নয়) এবং ক্রোমে উইন্ডোটি খোলা হয়নি এবং আমি ডাউনলোড না করে যতক্ষণ না উইন্ডো.লোকশন = 'ইউআরএল' যা অবস্থান পরিবর্তন করে না তবে ফাইলটি ডাউনলোড করে ...
gdoumenc

উইন্ডো.ওপেন (ইউআরএল) ঠিক আছে :)
ফুডু

34

ক্লিক হ্যান্ডলারের ভিতরে কীভাবে লক্ষ্যটি জোর করা যায় তা এখানে:

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

5
ক্লিক হ্যান্ডলার মধ্যে jQuery নির্বাচক ব্যবহারের কোন প্রয়োজন নেই লাইন, যাতে $(this).attr('target', '_blank'); পরিবর্তিত হতে পারে this.target = "_blank";, এছাড়াও যদি পৃষ্ঠাতে নোঙ্গর লিঙ্ক আছে পরিবর্তন করা যাবে rel="external"বৈশিষ্ট্যাবলী তারপর আপনি jQuery নির্বাচক সঙ্গে পৃষ্ঠার জন্য একটি বিশ্বব্যাপী ক্লিক হ্যান্ডলার তৈরী করতে পারে a[rel="external"]বরং একটি থাকার চেয়ে লিংক ক্লিক প্রতি হ্যান্ডলার সঙ্গে নির্বাচিতa#link_id
হিমাংশু

17

আপনি ব্যবহার করতে হবে window.open(url);

তথ্যসূত্র:
http://www.htmlcodetutorial.com/link/linking_famsupp_120.html
http://www.w3schools.com/jsref/met_win_open.asp


5
হায়! ডাব্লু 3 স্কুলগুলিতে ব্যবহার বা লিঙ্ক করবেন না, এটি ডাব্লু 3 সি এর সাথে সম্পর্কিত নয়। পরিবর্তে MDN ব্যবহার করুন: developer.mozilla.org/en-US/docs/Web/API/Window.open
এবি ক্যারল


4

আপনি এর জন্য jquery প্রপ () পদ্ধতিটিও ব্যবহার করতে পারেন।

$(function(){
  $('yourselector').prop('target', '_blank');
}); 

2

আমি এই সমস্যাটির একটি আকর্ষণীয় সমাধান পেয়েছি। আমি এমন একটি স্প্যান তৈরি করছিলাম যা কোনও ওয়েব পরিষেবা থেকে ফেরতের ভিত্তিতে তথ্য ধারণ করে। স্প্যানের চারপাশে একটি লিঙ্ক স্থাপন করার চেষ্টা করার কথা ভেবেছিলাম যাতে আমি এটিতে ক্লিক করি তবে "এ" ক্লিকটি ক্যাপচার করতে পারে।

তবে আমি স্প্যানটির সাথে ক্লিকটি ক্যাপচার করার চেষ্টা করছিলাম ... তাই আমি ভেবেছিলাম যে আমি স্প্যানটি তৈরি করার সময় কেন এটি করব না।

var span = $('<span id="something" data-href="'+url+'" />');

তারপরে আমি স্প্যানটিতে একটি ক্লিক হ্যান্ডলারকে আবদ্ধ করলাম যা 'ডেটা-হ্রেফ' বৈশিষ্ট্যের উপর ভিত্তি করে একটি লিঙ্ক তৈরি করেছিল:

span.click(function(e) {
    e.stopPropagation();
    var href = $(this).attr('data-href');
    var link = $('<a href="http://' + href + '" />');
    link.attr('target', '_blank');
    window.open(link.attr('href'));
});

এটি সফলভাবে আমাকে স্প্যানটিতে ক্লিক করতে এবং সঠিক url সহ একটি নতুন উইন্ডো খোলার অনুমতি দিয়েছে।



1

এই সমাধানটি ইউআরএল খালি এবং অক্ষর (ধূসর) খালি লিঙ্কটি কেস হিসাবে বিবেচনা করেছে।

$(function() {
  changeAnchor();
});

function changeAnchor() {
  $("a[name$='aWebsiteUrl']").each(function() { // you can write your selector here
    $(this).css("background", "none");
    $(this).css("font-weight", "normal");

    var url = $(this).attr('href').trim();
    if (url == " " || url == "") { //disable empty link
      $(this).attr("class", "disabled");
      $(this).attr("href", "javascript:void(0)");
    } else {
      $(this).attr("target", "_blank");// HERE set the non-empty links, open in new window
    }
  });
}
a.disabled {
  text-decoration: none;
  pointer-events: none;
  cursor: default;
  color: grey;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<a name="aWebsiteUrl" href="http://www.baidu.com" class='#'>[website]</a>
<a name="aWebsiteUrl" href=" " class='#'>[website]</a>
<a name="aWebsiteUrl" href="http://www.alibaba.com" class='#'>[website]</a>
<a name="aWebsiteUrl" href="http://www.qq.com" class='#'>[website]</a>


0

আপনি যদি ক্লিক ইভেন্টের ইভেন্ট হ্যান্ডলার ফাংশনের অভ্যন্তরে AJAX অনুরোধগুলি কার্যকর করতে চান তবে সচেতন হন । কোনও কারণে ক্রোম (এবং সম্ভবত অন্যান্য ব্রাউজারগুলি) কোনও নতুন ট্যাব / উইন্ডো খুলবে না।


0

এটি খুব সুন্দর সমাধান নয় তবে এটি কাজ করে:

সিএসএস:

.new-tab-opener
{
    display: none;
}

এইচটিএমএল:

<a data-href="http://www.google.com/" href="javascript:">Click here</a>
<form class="new-tab-opener" method="get" target="_blank"></form>

জাভাস্ক্রিপ্ট:

$('a').on('click', function (e) {    
    var f = $('.new-tab-opener');
    f.attr('action', $(this).attr('data-href'));
    f.submit();
});

সরাসরি উদাহরণ: http://jsfiddle.net/7eRLb/


0

মাইক্রোসফ্ট আইই দ্বিতীয় নাম হিসাবে কোনও নাম সমর্থন করে না।

window.open('url', 'window name', 'window settings');

সমস্যা হচ্ছে window name। এটি কাজ করবে:

window.open('url', '', 'window settings')

মাইক্রোসফ্ট কেবল নিম্নলিখিত যুক্তিগুলি মঞ্জুরি দেয়, যদি সেই যুক্তিটি একেবারে ব্যবহার করা হয়:

  • _ব্ল্যাঙ্ক
  • _মিডিয়া
  • _পিতা
  • _ অনুসন্ধান
  • _ নিজেই
  • _টপ

এই মাইক্রোসফ্ট সাইটটি পরীক্ষা করুন


4
-1: আপনার লাইসেন্স-লঙ্ঘনকারী অনুলিপি / স্ট্যাকওভারফ্লো.com / a / 1462500 / 560648 থেকে পেস্ট করুন তবে তা সত্য নয়। যুক্তি হয় সমর্থিত । এটিতে কেবল স্পেস বা ড্যাশ বা অন্যান্য বিরামচিহ্ন থাকতে পারে না। এই প্রশ্নে অন্যান্য উত্তর এবং মন্তব্য পড়ুন।
অরবিটে হালকা ঘোড়দৌড়
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.