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


361

আমি একই উইন্ডোতে এবং একই ট্যাবে লিঙ্কটি সহ পৃষ্ঠাটি থাকা একটি লিঙ্ক খুলতে চাই।

আমি যখন ব্যবহার করে কোনও লিঙ্ক খোলার চেষ্টা করি window.openতখন এটি নতুন ট্যাবে খোলে — একই উইন্ডোতে একই ট্যাবে নয়।

উত্তর:


599

আপনাকে নামের বৈশিষ্ট্যটি ব্যবহার করতে হবে:

window.open("https://www.youraddress.com","_self")

সম্পাদনা করুন : প্রোটোকল দিয়ে ইউআরএল চালিত করা উচিত। এটি ছাড়া আপেক্ষিক ইউআরএল খোলার চেষ্টা করে। ক্রোম 59, ফায়ারফক্স 54 এবং আইই 11 তে পরীক্ষিত।


2
দ্বিতীয় যুক্তি হ'ল target=ট্যাগের বৈশিষ্ট্যের মতো নতুন উইন্ডোটির একটি নাম a। প্রকৃতপক্ষে, আপনি আপনার উইন্ডোটি যা খুশি তার নাম দিতে পারেন। আপনার যা যা প্রয়োজন তা হ'ল এটি আলাদা মান নির্ধারণ করে, যাতে এটি একই উইন্ডো বা ট্যাবে না খোল।
ijse

11
@ আইজসে আসলে, কয়েকটি বিশেষ নাম রয়েছে, যার মধ্যে একটি '_ সেলফ' যা কোডটি চলছে তার বিজয় / ট্যাবকে বোঝায়))
ভিডি বিল্ডার

5
উইন্ডো.ওপেনের এমডিএন [ বিকাশকারী.মোজিলা.আর.ইন- ইউএস / ডকস / ওয়েবে / এপিআই / উইন্ডো / ওপেন ] নথিতে '_ নিজে' নির্দিষ্ট করা হয়নি specified আরও একটি ক্রস-ব্রাউজার সমাধান হ'ল লোকেশন.রেপ্লেস () ব্যবহার করা।
ব্রায়ান রায়নার

1
উপরের মন্তব্যে এমডিএন লিঙ্কটি একটি 404-এর সাথে স্বয়ংক্রিয়ভাবে সংযুক্ত রয়েছে Link লিঙ্কটি বিকাশকারী.মোজিলা.আর.এন.ইউএস
ডকস / ওয়েব

_selfঅধ্যায় উল্লেখ করা হয় 5.1.6 ব্রাউজিং প্রসঙ্গ নাম এর HTML5 এর W3C পরামর্শ 28 অক্টোবর 2014 হয়: w3.org/TR/html/browsers.html#browsing-context-names (কিন্তু window.locationএখনও ক্লিনার যায়)।
ডেম পাইলাফিয়ান


62

লিঙ্কটি একই ট্যাবে খোলা আছে তা নিশ্চিত করার জন্য, আপনার ব্যবহার করা উচিত window.location.replace()

নীচের উদাহরণটি দেখুন:

window.location.replace("http://www.w3schools.com");

সূত্র: http://www.w3schools.com/jsref/met_loc_replace.asp


3
এটি ব্রাউজিং ইতিহাস সংরক্ষণ করে না, আমাদের এটি ব্যবহার করা উচিত নয়। পরিবর্তে window.open (" google.com", "_ শীর্ষ" ) রেফারেন্স লিংক geeksforgeeks.org/… চেষ্টা করুন
shyam_

2
এটা আমার পক্ষে ভাল, ধন্যবাদ ড্যুড
অ্যাঞ্জেলাস রোমান

28

আপনি url উল্লেখ না করে এটি একই পৃষ্ঠায় যেতে পারেন:

window.open('?','_self');

এটি একই পৃষ্ঠা নয়। এটি বিদ্যমান ইউআরএল থেকে যে কোনও কোয়েরি স্ট্রিং সরিয়ে ফেলবে।
কোয়ান্টিন

20

যদি আপনার পৃষ্ঠাগুলি "ফ্রেমের" ভিতরে থাকে তবে "উইন্ডো.ওপেন ('লগআউট.এএসপেক্স', '_ স্ব')"

একই ফ্রেমের ভিতরে পুনঃনির্দেশিত করা হবে। সুতরাং ব্যবহার করে

"Window.open('logout.aspx','_top')"

আমরা পৃষ্ঠাটিকে নতুন অনুরোধ হিসাবে লোড করতে পারি।


11

জাভাস্ক্রিপ্টের অন্যতম বৈশিষ্ট্য হ'ল ফ্লাইতে অনক্লিক হ্যান্ডলারের গুলি চালানো। আমি নিম্নলিখিত location.href=''বা আরও ব্যবহারযোগ্য location.reload()বা window.open:

// this function can fire onclick handler for any DOM-Element
function fireClickEvent(element) {
    var evt = new window.MouseEvent('click', {
        view: window,
        bubbles: true,
        cancelable: true
    });

    element.dispatchEvent(evt);
}

// this function will setup a virtual anchor element
// and fire click handler to open new URL in the same room
// it works better than location.href=something or location.reload()
function openNewURLInTheSameWindow(targetURL) {
    var a = document.createElement('a');
    a.href = targetURL;
    fireClickEvent(a);
}

উপরের কোডটি নতুন ট্যাব / উইন্ডো খুলতে এবং সমস্ত পপ-আপ ব্লকারকে বাইপাস করতে সহায়ক !!! যেমন

function openNewTabOrNewWindow(targetURL) {
    var a = document.createElement('a');
    a.href = targetURL;

    a.target = '_blank'; // now it will open new tab/window and bypass any popup blocker!

    fireClickEvent(a);
}

10

লিঙ্কে ক্লিক করার মতো অন্য url খুলুন

window.location.href = "http://example.com";

8

আপনার কি ব্যবহার করতে হবে window.open? ব্যবহার সম্পর্কে কি window.location="http://example.com"?


5

window.open(url, wndname, params)এটির তিনটি যুক্তি রয়েছে। আপনি যদি এটি একই উইন্ডোতে খুলতে না চান তবে কেবল একটি আলাদা wndname সেট করুন। যেমন :

window.open(url1, "name1", params); // this open one window or tab
window.open(url1, "name2", params); // though url is same, but it'll open in another window(tab).

এই সম্পর্কে বিশদ এখানে window.open(), আপনি এটি বিশ্বাস করতে পারেন!
https://developer.mozilla.org/en/DOM/window.open

চেষ্টা করে দেখুন ~~


7
একই উইন্ডো এবং একই ট্যাবে খোলার ইচ্ছে সম্পর্কে প্রশ্নটি খুব স্পষ্ট !
এসএনএগ

2

এইচটিএমএল 5 এর সাহায্যে আপনি ইতিহাসের এপিআই ব্যবহার করতে পারেন ।

history.pushState({
  prevUrl: window.location.href

}, 'Next page', 'http://localhost/x/next_page');
history.go();

তারপরে পরবর্তী পৃষ্ঠায় আপনি এর মতো স্টেট অবজেক্টে অ্যাক্সেস করতে পারবেন

let url = history.state.prevUrl;
if (url) {
  console.log('user come from: '+ url)
}

1

বেশ সহজ। হিসাবে প্রথম উইন্ডো খুলুনwindow.open(url, <tabNmae>)

উদাহরণ: window.open("abc.com",'myTab')

এবং পরবর্তী সমস্ত উইন্ডো.পেনের জন্য , ইত্যাদির পরিবর্তে একই ট্যাব নাম ব্যবহার করুন etc._self_parent



1
   Just Try in button.

   <button onclick="location.reload();location.href='url_name'" 
   id="myButton" class="btn request-callback" >Explore More</button>

   Using href 

  <a href="#" class="know_how" onclick="location.reload();location.href='url_name'">Know More</a> 

এটি বর্তমান পৃষ্ঠার পুনরায় লোড ট্রিগার করার জন্য এবং তারপরে একটি নতুন পৃষ্ঠা লোড করে পরবর্তী বিবৃতিতে এটি বাতিল করার কোনও কারণ নেই।
কোয়ান্টিন

-3

এমডিএন'র রেফার্স যেমন বলেছে, কেবল নতুন window/ এর একটি নাম দেওয়া দরকার tab

https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Syntax

ব্যবহার করে বর্তমান ট্যাব পৃষ্ঠা খুলুন _self

<a
 href="url"
 target="_self">
   open
</a>
const autoOpenAlink = (url = ``) => {
  window.open(url, "open testing page in the same tab page");
}

ব্যবহার করে একটি নতুন ট্যাব পৃষ্ঠা খুলুন _blank

vue ডেমো

    <div style="margin: 5px;">
        <a
            :href="url"
            @click="autoOpenAlink"
            target="_blank"
            >
            {{url}}
        </a>
    </div>

Vue

    autoOpenAlink(e) {
        e.preventDefault();
        let url = this.url;
        window.open(url, "iframe testing page");
    },

আপনি বর্তমান উইন্ডোর নামটি নির্ভরযোগ্যভাবে জানতে পারবেন না। এই ২০১১ এর উত্তর থেকে পরামর্শ অনুসরণ করা এবং নিজের বিশেষ নামটি ব্যবহার করা ভাল।
কোয়ান্টিন

আপনার প্রথম উদাহরণটি ঠিক ভুল। _ব্ল্যাঙ্ক, স্পষ্টতই একটি নামবিহীন নতুন উইন্ডো বা ট্যাব।
কোয়ান্টিন

একদমই না! আমি যদি নিজেকে সেট করি তবে এটি বর্তমান পৃষ্ঠায় খুলবে যা আমার পক্ষে খারাপ, আমার কেবল একটি নতুন পৃষ্ঠা দরকার।
xgqfrms

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